[RostovOnDon.pm] BadExample.pm
Павел Кудинов
kudinov.pavel на gmail.com
Ср Авг 6 07:49:11 PDT 2008
Много возился с часовыми поясами, пока делал КиноМедиа.
Формулировка некорректна. Из заданного пояса в GMT перевести нельзя, т.к. в
одном и том же поясе существуют разные исчисления времени (переход на летнее
в разные дни, вообще отсутствие перехода, переход не на час а больше, если
дата "историческая" - нужно "вспомнить" - практиковался ли тогда переход).
В Unix применяются localtime - бинарники, в количестве равном количеству
местностей (обычно городов). Задача бинарника - знать как в данной местности
велось летоисчисление на всём обозримом историческом периоде. Т.е. localtime
MSK будет учитывать все изменения, которые только происходили. А, например,
localtime Томска (если не путаю) - будет учитывать, то что в 2005 (если не
путаю) году город вообще сменил свой часовой пояс!
Соответственно, дата должна переводиться из локали (местности) посредствам
"местной" localtime утилиты, а не "из часового пояса".
Кстати, команда localtime в большинстве систем - симлинк на один из
localtime'ов, которые есть в коллекции дистрибутива (либо просто копия
одного файла из коллекции).
С Уважением,
Павел Кудинов
-----Original Message-----
From: rostovondon-pm-bounces+kudinov.pavel=gmail.com на pm.org
[mailto:rostovondon-pm-bounces+kudinov.pavel=gmail.com на pm.org] On Behalf Of
Andrey Alakozov
Sent: Wednesday, August 06, 2008 6:23 PM
To: Rostov-on-Don Perl Mongers
Subject: [RostovOnDon.pm] BadExample.pm
Привет,
Искал сегодня модуль для работы с часовыми поясами, наткнулся на
забавную штуку. Автор обещает метр пива (по вертикали) или $100 тому,
кто умудрится это выполнить:
http://search.cpan.org/src/ADAMK/Acme-BadExample-1.00/lib/Acme/BadExample.pm
Кстати, задачка по работе с часовыми поясами (перевести дату время из
заданного пояса в GMT с учетом летнего времени) оказалась не такой уж
простой. Date::Manip именно с ней не справляется:
http://search.cpan.org/~sbeck/Date-Manip-5.54/lib/Date/Manip.pod#KNOWN_BUGS
В итоге, сделал через POSIX::tzset/localtime/gmtime.
--
Andrey
_______________________________________________
RostovOnDon-pm mailing list
RostovOnDon-pm на pm.org
http://mail.pm.org/mailman/listinfo/rostovondon-pm
Подробная информация о списке рассылки RostovOnDon-pm