Пользователь
0,5
рейтинг
14 октября 2011 в 09:34

Администрирование → Переезд временной зоны MSD в MSK — новый Y2K локального масштаба

Все, наверное, хоть раз слышали, что в России с 2011 года отменен переход с летнего время на зимнее. Чем же это грозит каждому из нас — и администраторам большого количества серверов в сложных системах, и обычным пользователям, имеющим один компьютер и мобильный телефон? Что случится в ночь с 29 на 30 октября 2011 — до которой осталось, кстати, всего 2 недели?

Новый Федеральный закон Российской Федерации от 3 июня 2011 г. N 107-ФЗ «Об исчислении времени»:
  • принят Государственной Думой 2011-05-20
  • одобрен Советом Федерации 2011-05-25
  • опубликован 2011-06-06
  • подписан президентом 2011-06-09
  • вступил в силу с 2011-08-07
Чем же грозят нам эти изменения и что от этого может сломаться?

Что именно и когда изменяется?


У Europe/Moscow было два разных часовых пояса: летнее декретное время MSD = UTC+4 и зимнее время MSK = UTC+3. Теперь у этой timezone станет всего один общий часовой пояс, именующийся MSK и равный UTC+4. Другие временные зоны, использующиеся на территории РФ, меняются аналогичным образом, но проводить эксперименты всегда проще всего на наиболее «официальной» — т.е. именно Europe/Moscow.

Иллюстрировать изменения лучше всего на UNIX timestamp — это количество секунд, прошедших с начала Эпохи, 1970-01-01 00:00:00 UTC. Это простое целое число и оно абсолютно никак не зависит ни от каких часовых поясов и изменяющихся местных законов.

Что именно Timestamp Было Стало
Начало Эпохи 0 Jan  1 03:00:00 MSK 1970 Jan  1 03:00:00 MSK 1970
Зима начала 2011 года 1296000000 Jan 26 03:00:00 MSK 2011 Jan 26 03:00:00 MSK 2011
Лето 2011 1310000000 Jul  7 04:53:20 MSD 2011 Jul  7 04:53:20 MSK 2011
Зима конца 2011 года 1325000000 Dec 27 18:33:20 MSK 2011 Dec 27 19:33:20 MSK 2011
За секунду до возможного переключения 1319929199 Oct 30 02:59:59 MSD 2011 Oct 30 02:59:59 MSK 2011
Сразу после переключения 1319929200 Oct 30 02:00:00 MSK 2011 Oct 30 03:00:00 MSK 2011

Итого, как мы видим, момент истины или такой новый маленький локальный Y2k наступает с 1319929199 секунды на 1319929200-ую — либо все ломается, либо нет.

Апстрим


Для подавляющего большинства операционных систем апстримом (т.е. общим сайтом, который первоначально собирает всю эту информацию) являлся испытывающий сейчас определенный копирайтные сложности проект TZ database, располагавшийся по адресу elsie.nci.nih.gov/pub

Новые версии этой БД выходили регулярно и имели четкую систему нумерации: первые 4 цифры — номер года, затем одна буква — номер версии внутри года.

В TZ database соответствующие изменения были внесены весьма оперативно: закон РФ опубликован 2011-06-06, а изменения были опубликованы в версии 2011h от 2011-06-15.

Таким образом, если коротко: если в вашей ОС используется пакет типа tzdata с любой версией, равной или старше 2011h (т.е. 2011i, 2011j и т.д.) — то все в порядке.

Чем грозит неправильная информация о timezone?


Сильно зависит от того, что за система работает со временем и насколько эта работа критична.

Например, если у вас нет систем, которые работают с timezone Europe/Moscow — например, у вас все-все-все работает по UTC — то остаток статьи можно с чистой совестью не читать.

В зоне риска находятся в первую очередь:
  • Логи — если они ведутся не по UTC
  • Базы данных, учетные системы, органайзеры
  • Биллинг, бухгалтерские системы
  • Любые системы, работающие в потоковом режиме 24x7: мониторинг, видеонаблюдения и т.д.
  • Системы, которые выполняют функцию часов и будильников — т.е. мобильные телефоны, десктопы, отображающие время и т.д.

Я получаю время с ntp-сервера, о чем мне беспокоиться — там ведь время наверняка переведут, как надо?


Нет, не переведут: с ntp-сервера приходит именно UNIX timestamp, который описан выше, а все операции с временными зонами производит операционная система, уже зная локальную настройку. До тех пор, пока локальная настройка — неверная, получение времени с ntp-сервера будет, наоборот, создавать проблему, которую даже вручную толком не решить: придется либо отказываться от использовании ntp, либо попытке «подвести на час» через некоторое время ntp все «исправит» обратно. «Чинить» нужно именно timezone.

Почему вы все время говорите о каком-то UTC, ведь весь мир ориентируется на время по Гринвичу — GMT?


В общем, нет: именно UTC (Universal Time, Coordinated) используется как основной стандарт по всему миру со времен изобретения атомных часов (~начало 1960-х) — в технике, в авиации, в астрономии и во всех остальных местах, где нужно точное время.

Если совсем коротко — то GMT и UTC принципиально различаются по механизму учета времени — в GMT он куда более «неудобный» для техники. В разные моменты времени GMT и UTC могут отставать друг от друга до ~0.9 секунды. Несмотря на то, что прошло уже порядка 50 лет, люди все равно по инерции часто произносят «по Гринвичу» и даже умудряются действительно регулярно писать аббревиатуру GMT.

Как проверить, сломается ли что-то на моей системе?


Ниже я постарался собрать всю информацию о том, когда, где и что обновлялось и как можно быстро проверить, будет ли иметь проблемы та или иная система.

Универсальный способ проверки


Универсальный, но весьма длинный способ проверки — годится, в частности, для любых мобильных телефонов и прочих подобных устройств: выставить часы принудительно на 2011-10-30 01:59 и подождать 1 час и 1 минуту. Если устройство/ОС переставит после этого часы на 02:00 — то, значит, все плохо, timezone не обновлены. Если часы останутся на 03:00 — все в порядке, изменения применены.

Linux


Традиционно в Linux есть системный timezones, располагающиеся в /usr/share/zoneinfo. На данный момент ситуация с популярными дистрибутивами такая — хорошо видно, кстати, какие дистрибутивы как быстро обновляются:
Дистрибутив Пакет Исправление с версии Дата
ALT Linux Platform 6 tzdata 2011h 2011-07-01
Arch Linux tzdata 2011h-1 <2011-07-08
CentOS/RHEL 4 tzdata 2011h-2.el4 2011-08-29
CentOS/RHEL 5 tzdata 2011h-1.el5 2011-06-28
Debian stable (squeeze) tzdata 2011h-0squeeze1 2011-08-13
openSUSE 11.4 timezone 2011i-2.2.1 2011-09-04
Ubuntu hardy tzdata 2011j~repack-0ubuntu0.8.04 2011-09-16
Ubuntu lucid tzdata 2011j-0ubuntu0.10.04 2011-09-16
Ubuntu natty tzdata 2011j-0ubuntu0.11.04 2011-09-15

Как проверять: запустить вот такой скрипт:
#!/bin/sh -ef
S1=$(LC_ALL=C TZ=Europe/Moscow date -d @1314567890)
[ "$S1" = 'Mon Aug 29 01:44:50 MSK 2011' ] || (echo FAIL1; exit 1)
S2=$(LC_ALL=C TZ=Europe/Moscow date -d @1324567890)
[ "$S2" = 'Thu Dec 22 19:31:30 MSK 2011' ] || (echo FAIL2; exit 2)
echo OK

Если он выдает что-то, отличное от OK и нулевого exit status — то проблема на тестируемой системе есть. Нужно попробовать обновить систему: если поможет, отписаться, что в таком-то дистрибутиве с такой-то версии такого-то пакета с timezones проблема исчезла; если не поможет — то отписаться, что в таком-то дистрибутиве проблема есть до сих пор.

FreeBSD


Исправления в head и в stable FreeBSD 8 были внесены 2011-06-28.

Как проверять: запустить чуть-чуть измененный вариант скрипта, приведенного выше:
#!/bin/sh -ef
S1=$(LC_ALL=C TZ=Europe/Moscow date -r 1314567890)
[ "$S1" = 'Mon Aug 29 01:44:50 MSK 2011' ] || (echo FAIL1; exit 1)
S2=$(LC_ALL=C TZ=Europe/Moscow date -r 1324567890)
[ "$S2" = 'Thu Dec 22 19:31:30 MSK 2011' ] || (echo FAIL2; exit 2)
echo OK

Скорее всего этот же скрипт подойдет и для Mac OS X. Буду признателен, если кто-то расскажет, как там обстоят дела.

Solaris


Timezone обновлены до 2011h в следующих патчах:
  • SPARC, Solaris 8: patch 109809-17
  • SPARC, Solaris 9: patch 113225-29
  • SPARC, Solaris 10: patch 146470-04
  • x86, Solaris 8 patch 109810-17
  • x86, Solaris 9 patch 116545-27
  • x86, Solaris 10 patch 146471-04
Установить можно, как обычно, через patchadd, после установки придется либо перезагрузиться, либо перезагрузить зону через tzreload.

Соответствующий баг заведен под номером 7055084.

Windows


Обновление приходит с накопительным пакетом обновлений часовых поясов для операционных систем Windows за август 2011 года — обновление 2570791 (спасибо pokryshkin). Установка самого патча перезагрузки не требует. Исправления доступны для операционных систем:
  • Windows 7
  • Windows Server 2008 R2
  • Windows Server 2008 SP2
  • Windows Vista
  • Windows Server 2003 SP2
  • Windows XP SP3
Более старые операционные системы останутся без обновлений.

Есть также ручное решение, описанное в 914387.
(подсказывает ComputerPers)

Гораздо более подробное описание решений для Windows-систем и подсистем на их базе можно прочитать в отдельной статье «Изменение часовых зон в России, Белоруссии, Украине и Армении» от roman_tik.

Java


Язык Java, как правило, носит свои timezones с собой где-то в районе $JAVA_HOME/lib/zi — но в некоторых случаях (при инсталляции пакетом из дистрибутива) эти файлы генерируются на основе общесистемных.

В «официальной» поставке Oracle Java SE изменения внесены на основе 2011h, номер версии 1.3.40, обновление от 2011-06-29.

Как проверять: создать файл TestMSD.java с таким содержимым:
import java.util.*;
import java.text.DateFormat;

public class TestMSD {
    public static void main(String[] args) {
        Calendar c = Calendar.getInstance(TimeZone.getTimeZone("Europe/Moscow"));
        DateFormat df = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL, Locale.US);
        df.setCalendar(c);

        c.setTimeInMillis(1314567890L * 1000L);
        if (!df.format(c.getTime()).equals("Monday, August 29, 2011 1:44:50 AM MSK")) {
            System.out.println("FAIL1");
            System.exit(1);
        }

        c.setTimeInMillis(1324567890L * 1000L);
        if (!df.format(c.getTime()).equals("Thursday, December 22, 2011 7:31:30 PM MSK")) {
            System.out.println("FAIL2");
            System.exit(2);
        }

        System.out.println("OK");
        System.exit(0);
    }
}

Скомпилировать этот файл командой javac TestMSD.java, а затем запустить командой java TestMSD. Если всё хорошо — то запуск выведет OK на stdout и вернется с exit status = 0, иначе выведется сообщение об ошибке.

Android


Общая база данных для временных зон живет в Android-системе обычно в файле /etc/timezones.db, откуда ее использует java-машина и все приложения на java. Выделенной /usr/share/zoneinfo в системе по умолчанию нет.

Как правило, со всеми аппаратами, что силами хабрасообщества удалось проверить, ситуация грустная:
  • Asus TF101 — последняя штатная прошивка от ASUS, Android 3.2.1 — все плохо (проверил flashvoid)
  • Google Nexus One — последняя официальная прошивка (2.3.6) — все плохо (проверил binba)
  • Google Nexus One — c прошивкой CyanogenMod-7.1, build 220 от 2011-10-13 — все плохо (проверил Anjin)
  • Google Nexus S — последняя официальная прошивка (2.3.6) — все плохо (проверил 8bitjoey)
  • Google Nexus S — прошивка WhisperCore 0.5.5 — все плохо (проверял Darka)
  • HTC Desire — последняя официальная прошивка (2.29.405.5 CL293415, Android 2.2) — все плохо
  • HTC Desire — developer preview (2.3.3) — все плохо (проверил LanG)
  • HTC Desire Z — последнее обновление (2.42.205.2, Android 2.3.3) — все плохо (проверил AlexeyRU)
  • HTC Desire Z — с последней прошивкой MIUI (1.10.07) — все плохо (проверил NoOne)
  • HTC Desire HD — последняя официальная прошивка (2.50.405.2, Andriod 2.3.3) — все плохо (проверил dolgonosic)
  • HTC Legend — сборка 3.15.405.3 CL291292 (Android 2.2) — все плохо (проверил ihoru)
  • HTC Wildfire S — с прошивкой 1.33.401.2, Android 2.3.3 — все плохо (проверил Wildy)
  • LG Optimus One — с прошивкой LG-P500-v20C, Android 2.3.3 — все плохо (проверил ChemAli)
  • LG Optimus One — с прошивкой LG-P500-v20D, Android 2.3.3 — все плохо (проверил Nikolaich)
  • Motorola Milestone — последняя официальная прошивка (2.1-update1, Android 2.1) — все плохо
  • Samsung Galaxy S II — прошивка на Android 2.3.3, все плохо (проверил aim)
  • Samsung Galaxy Ace — последняя прошивка S5830XXKPO, Android 2.3.5 — все хорошо (проверил Bytamine)

Как проверить: можно просто установить любую дату из зимы 2011-2012 и увидеть, переключилась ли зона на «Moscow Standard Time» или нет; вот пример «плохого» поведения:


Maemo


Телефоны на базе Maemo обладают архитектурой, весьма близкой к стандартным GNU/Linux — т.е. имеют /usr/share/zoneinfo, аналогичный пакет с tzdata и т.д. Проверенные варианты (спасибо wholeman):
  • Maemo5 (AKA Fremantle), Nokia N900 — все плохо
  • Maemo6 (AKA MeeGo 1.2 Harmattan), Nokia N9/N950 — все в порядке
Как проверить: для устройств с busybox'ом можно воспользоваться командой date -d 12221931.30 +%s и сравнивать результат с 1324567890.

Symbian


Скорее всего, проблемными будут практически все аппараты, т.к. апдейтов прошивок из-за такой «мелочи» скорее всего не будет:
  • Symbian Anna, Nokia E7 — проблема есть (проверял wholeman)
Как проверить: аналогично Android, можно зайти в «Параметры → Телефон → Время и дата», переставить дату на что-нибудь из зимы 2011 и посмотреть, изменится ли часовой пояс на «GMT +3.00 Москва»:

Если изменится — то да, проблема есть.



Так как тема эта в целом весьма обширная, поэтому прошу помощи хабрасообщества в проверке всего, до чего можно дотянуться, чтобы создать своего рода справочник: что уже обновлено, что можно обновить (и в каких именно обновлениях этот патч накладывается), что ломается, а что нет — в частности, как с этим обстоят дела в тех системах и средах, где у меня не добрались руки проверить: различные версии Windows, Mac OS X / Classic, различные версии/прошивки Symbian, Android, iOS, MeeGo, Windows Mobile/Phone 7, Nabaztag, Playstation/XBox, Perl, PHP, Ruby, Python, SQL-базы и т.д.
GreyCat @GreyCat
карма
156,2
рейтинг 0,5
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Администрирование

Комментарии (193)

  • +4
    Пускай все же переход будет не столь легкий, как хотелось бы, но в одном часовом поясе жить лучше.
  • +9
    С этого и началось приближение 2012 и самопроизвольные удары Skynet по врагу ядерными зарядами…
    • +31
      Представьте себе поведение аналога системы «Периметр» на основе информации о том, что в течение часа не поступало вообще никаких сведений о жизнеспособности ключевых узлов командной системы «Казбек» и линий связи ракетных войск стратегического назначения.
      • +8
        Все нормальные системы мониторинга 24x7 работают по UNIX timestamp, а не по дата+время. Все таймауты/временные интервалы засекаются по CLOCK_MONOTONIC, а не по UNIX timestamp (чтобы не сбиваться из-за того же NTP). В логах время может записываться по-разному, но корректные анализаторы логов должны быть готовы к скачкам временных меток в логах (из-за летнего/зимнего времени и NTP). Так что проблема если и существует, то исключительно в кривом софте.
        • +3
          С системами всегда работают какие-то люди и они обычно как раз смотрят время в привычном им формате локальной временной зоны.

          Cron, например, настраивается и работает именно по этому времени.
        • 0
          Значит ждем 19 января 2038 года…
      • +4
        Представил, теперь боюсь перехода еще больше
      • 0
        Ну поговаривают что эта система в норме выключена и её включают только в ситуации «нас в бункере осталось только трое из восемнадцати ребят»
  • +7
    Mac OS X Lion 10.7.2 — полет нормальный
    • +1
      Спасибо! Можете посмотреть, начиная с какого обновления системы полет стал нормальным и таймзоны обновились?
      • 0
        Расскажите как. Я не сильно глубоко знаю Mac OS. Я думаю вопрос надо по-другому ставить. Здесь надо узнать в каком обновлении пришла tzdata версии 2011h. То есть скорее всего в ближайшем обновлении после 15го июня. А это был, если память моя налево не ходит, релиз 10.7, хотя может и в 10.7.1 пришло.

        Люди сидящие на Snow Leopard, подскажите как у вас?
        • 0
          10.5.8 Leopard:
          FAIL1
          FAIL2
          OK


          А запуск скрипта зависит от текущей временной зоны? Просто я сейчас в EEST
          • 0
            Думаю не зависит. Я в Екатеринбурге (+2 от Москвы)
          • 0
            Очень странно… от текущей зоны не зависит — про крайней мере в теории там TZ подставляется… А вот почему он у вас выводит все 3 значения — это крайне странно…
            • +1
              Я думаю, что если запустить этот скрипт, то можно просто сравнить глазами. К сожалению теги почему-то не работают.

              #!/bin/sh -ef
              S1=$(LC_ALL=C TZ=Europe/Moscow date -r 1314567890)
              echo "$S1"
              echo 'Mon Aug 29 01:44:50 MSK 2011'
              S2=$(LC_ALL=C TZ=Europe/Moscow date -r 1324567890)
              echo
              echo "$S2"
              echo 'Thu Dec 22 19:31:30 MSK 2011'
              • НЛО прилетело и опубликовало эту надпись здесь
                • НЛО прилетело и опубликовало эту надпись здесь
                  • НЛО прилетело и опубликовало эту надпись здесь
            • 0
              Запускали вставкой команд в командную строку, а не записью в файл и запуском файла.
              • 0
                я записал в файл, выставил chmod и сделал "./script"
        • 0
          На SL всё плохо.
          • 0
            рекомендую — pastie.org/2767293
            • 0
              Спасибо. Что-бы еще сделать со старыми версиями iOS…
              • 0
                вероятно эта инструкция подойдет к jailbroken устройствам, по крайней мере у меня на iPod Touch все файлы в тех же местах. попробую попозже обновить
              • 0
                подтверждаю, все работает. правда у меня на девайсе не оказалось unzip пришлось перепаковать на компе
  • 0
    С телефонами вообще проблемы не вижу. На моем андроиде была при первичной настройке поставлена галочка для получения времени от сети оператора, что позволяет в поездках не заморачиваться за переключение времени. Поэтому решение поднятого в моем случае лежит на операторе. А операторы, как мне кажется, крайне заинтересованы в наличии правильных настроек.

    Домашняя винда тоже получает время с серверов, а уж на ntp-серверах точно заморочились еще когда наша власть только начала чесаться в сторону этого вопроса.
    • 0
      А что за оператор? На МТС телефон при попытке включить эту опцию сообщает о ее отсутствии у оператора.
      • +2
        Пчеловоды. Вполне даже себе корректно шлют.

        Хотя я слукавил немного. В Екатеринбурге, в течении лета была проблема — время, выдаваемое оператором, было на 28 минут меньше действительного. Тогда я переключил на ручную установку, а когда вернулся на прошлой неделе из Москвы (там получал время автоматом) — забыл отключить в самолете автоматическое получение и обнаружил, что в Ект все починили и можно снова пользоваться данными сети. Только теперь я каждое утро сверяю время с другими часами, чтобы проверить не поломалось ли снова.
        • +4
          Офигенское удобство — ежедневно проверять всё ли в порядке с часами :D
          По-моему, геморроя больше, чем включать только перед поездками.
          • 0
            Бросить взгляд на время микроволновки, а при удобном случае на телефон и сравнить хотя бы приблизительно на интуитивном уровне, это не так сложно и меня не напрягает.
        • 0
          > Только теперь я каждое утро сверяю время с другими часами,
          > чтобы проверить не поломалось ли снова.

          В моём телефоне есть настраиваемая опция насчёт получения таймзон от мобильного оператора с тремя вариантами обработки этого события:
          а) Применять таймзону от сотовой станции молча;
          б) Выдавать предупреждение и запрос на смену пользователю;
          в) Никогда не принимать настройки таймзон от оператора.
          По умолчанию выбран второй пункт и о смене таймзоны на телефоне (например, при пересечении границы России и Украины) я узнаю по запросу на экране телефона.
        • +1
          Спасибо вам, милчеловек! Я уже думал, с ума потихоньку сходить начал. У меня был телефон, который при каждом включении стабильно скидывался на пол часа назад:) При этом, на нем отсутствовали настройки получения времени от оператора (или были глубоко спрятаны).
      • 0
        аналогично МТС Вологодская область, все отлично получает (Desire 2.2 и 2.3.3)
    • –1
      Android, по-моему, синхронизируется де факто тоже не с GSM-ного времени (которое, кстати, операторы в Москве рассылают как-то весьма неохотно), а с помощью ntp.

      Сейчас добавлю про ntp-сервера в статью :) Идея в том, что ntp вообще ничего про таймзоны не знает и в данной ситуации совсем никак не спасет.
      • 0
        > с помощью ntp

        Он, ИМХО, не может получать первичные данные по ntp, потому как выставляет верные данные даже при полном отключении от интернета.

        Тут я не буду утверждать своей правоты, потому как знаком с принципами работы gsm на уровне «Здрасьте, я хочу позвонить!»
        • +1
          Есть подозрение, что время он берёт с GPS.
          • 0
            У меня он отключен все время, кроме крайней необходимости. Поэтому вряд ли.
          • 0
            Не берёт. Даже тулзу делал специальную с рутом, чтобы брал.
            А вот для GPS в принципе время по ntp может получать.
            • 0
              Прошу прощения, не смог распарсить второе предложение. Поясните, зачем для GPS ntp, когда у нас уже сам GPS даёт точное время?
              • 0
                Имеется ввиду, данные для aGPS, телефон получает альманах, эфемериды и точное время. Для самого GPS, естественно не нужно.
    • +6
      уж на ntp-серверах точно заморочились

      Вынужден Вас огорчить: NTP вообще с поясами не заморачивается — это дело ОС.
    • 0
      А я помню, когда мне Билайн на Windows Mobile сбрасывал зону в 00, и время переводилось. Где-то год-полтора назад. Так что лучше проверять.
    • 0
      ага. щас операторы правильные настройки сделают. билайн в питере периодически сказывается на среднеамериканское время

      мтс щас показывает GMT+1 в питере.

      в общем нифига они не следят за этим — слишком маленькая база людей, которые вообще знают о такой услуге.
  • +3
    На винду нужно установить обновление support.microsoft.com/kb/2570791/ru
    • 0
      Оно автоматом приходит через Windows Update, так что скорее всего уже стоит.
      • +3
        Не забывайте про владельцев всяких зверских виндовых сборок.
        • +4
          Скупой платит дважды. (с) Народ
          Не гонялся бы ты поп за дешевизной. (с) А.С. Пушкин
          • –1
            И че, им теперь обновляться нельзя?
        • +6
          И конечно мое любимое:

          Трагедия! Трагедия! (с) Омар Васильевич. Все ненавидят Криса.
        • +3
          Вопрос даже скорее не в левых сборках, а чтобы проверить, что точно все обновилось и спать спокойно.
    • 0
      Спасибо, добавил в статью!
  • +1
    3 недели назад был апдейт прошивки nexus one, не исправили, зона переключается.
    • 0
      Можете точную версию прошивки посмотреть?
      • 0
        2.3.6
        • 0
          Спасибо, добавил!
      • +1
        Аналогичная версия (2.3.6) и nexus s.
  • 0
    А у RHEL и CentOS разве не различается цикл выпуска обновлений?
  • +1
    HTC Desire Z — последнее обновление ( 2.42.205.2, Android 2.3.3) — всё плохо
    • 0
      Спасибо! Сейчас добавлю…
      • 0
        HTC Desire 2.3.3 версия для разработчиков от хтц… тоже все плохо
    • +1
      Тот же HTC Desire Z с последней прошивкой MIUI (1.10.07) — всё плохо.

      Хотя для телефонов не вижу чего-то глобально-плохого. В крайнем случае всегда можно переключить вручную на нужную по времени зону.
    • +1
      HTC Wildfire S (1.33.401.2, Android 2.3.3) — аналогично
  • +1
    Для Украины аналогичного апдейта пока нет. А час Х все ближе…
    • 0
      tzdata содержит обновлённые данные для Беларуси и Украины с версии 2011k.
  • +29
    Эх. Уходит эпоха таких шуток:

    image
    • +4
      Шеф невозмутимо выслушал жалобу Коллеги и молвил:

      «… Спокуха, Димон! Никуда твоя Светка не денется! Дай айпад, щас ребятам напишу — зря что ли ЗП получают — и будет тебе хоть до трех, хоть до 10, хоть 12 лет отпуска!»
  • +2
    LG Optimus One (A2.3.3 прошивка LG-P500-20C) — все плохо.

    Сначала выставлял как советовалось 30-октября-2011 01:59 и часовой пояс сменился на GMT+4. Затем просто сменил месяц на декабрь и стало GMT+3.
    • 0
      Но, как я понял, часовой пояс можно сменить вручную. И если опсос вещает сигналы точного времени, то может быть в автоматическом режиме все будет нормально. Знать бы точно…
      • 0
        > Знать бы точно

        Варианта два: дождаться ноября, позвонить опсосу.
        • 0
          Мне смысла нету: мой опсос точно не вещает эти сигналы :) (tele2)
    • 0
      Точно все плохо: через час и минуту время соскочило на 02:00, а часовой пояс на GMT+3, то есть временные зоны не обновлены.
    • +1
      LG Optimus One (A2.3.3 прошивка LG-P500-v20D) — аналогично. Звонил по этому поводу в российское представительство LG, сказали, что сами они исправлением прошивок не занимаются, надо ждать от корейцев обнову. Обещали передать наверх.
      • +1
        Добавил, спасибо!
  • +1
    Maemo5 (AKA Fremantle), Nokia N900 — проблема есть. Никто обновлённый tzdate не собрал?
    Maemo6 (AKA MeeGo 1.2 Harmattan), Nokia N9/N950 — всё в порядке.
    Для устройств с busybox'ом нужно использовать команду date -d 12221931.30 +%s и сравнивать результат с 1324567890

    Symbian Anna, Nokia E7 — проблема есть, при изменении даты на 14.11.2011 пояс меняется на GMT+3.
    • 0
      Пакет не собирал, т.к. входит оно в libc6 на maemo.

      # wget files.f-y.name/Moscow -O /usr/share/zoneinfo/Europe/Moscow

    • 0
      Что интересно, у меня date показывает сейчас (обновленный Moscow) — SAMT (Samara time).
      check.sh выдает OK
    • 0
      В Meego все аналогично обычным дистрибутивам Linux? Т.е. GNU date и tzdata по обычному пути?

      Про Symbian — можете поподробнее описать, как именно там это проверить — в идеале со скриншотом? Я бы тогда добавил в статью…
      • 0
        Да, в Meego все как в обычном Linux дистрибутиве.
      • +1
        Открываем установку времени: «Параметры > Телефон > Время и дата». Видим картинку:

        Обратите внимание на часовой пояс: GMT+4. MМеняем дату на месяц вперед. Получаем:
        Часовой пояс изменился на GMT+3.
        • –1
          Зимой для московского времени показывает UTC+3, летом для Московского времени показывает UTC+4.
          Это лишь означает, что в этой строке показывается сдвиг относительно UTC сразу с учётом DST.
          Но корректно-то не обновилось, увы.
  • +1
    Попробовал тест для java:

    ubuntu natty
    $ /opt/jdk1.7.0/bin/java TestMSD
    FAIL1 ( Monday, August 29, 2011 1:44:50 AM MSD )

    $ /opt/jdk1.6.0_27/bin/java TestMSD
    FAIL1 ( Monday, August 29, 2011 1:44:50 AM MSD )

    $ /opt/jdk1.6.0_26/bin/java TestMSD
    FAIL1 ( Monday, August 29, 2011 1:44:50 AM MSD )

    $ /usr/lib/jvm/java-1.6.0-openjdk/bin/java TestMSD
    OK


    CentOS release 5.7 (Final)
    $ /opt/jdk1.6.0_26/bin/java TestMSD
    FAIL1 ( Monday, August 29, 2011 1:44:50 AM MSD )


    Тест прошла только openjdk-1.6.0 из стандартной поставки ubuntu.
    • 0
      Все то, что про лето 2011 пишет MSD — это явно системы без обновлений.
      • 0
        Спасибо за разъяснения.
        Обновился и теперь все тесты проходят.
    • 0
      openjdk зависит от пакета tzdata-java, который хранит в себе инфу о таймзонах. Для него нужные обновления есть.
      А вот sun-java6-jdk таких пакетов не имеет, что обидно. И обновлений для него нет. Видимо, придётся обновлять скриптом типа tzupdater, который на сайте Java(Oracle) лежит.
  • +1
    в Debian stable новая tzdata давно уже приехала с обновлениями

    # apt-cache policy tzdata
    tzdata:
    Installed: 2011k-0squeeze1
    • 0
      debian lenny до обновления скрипт выдавал фэйлы и ок
      после обновления только ок
      в обновлении были «tzdata tzdata-java»

  • +1
    hp-ux 11.11
    # diff -c /usr/lib/tztab.ori /usr/lib/tztab
    *** /usr/lib/tztab.ori Fri Sep 30 09:54:37 2011
    — /usr/lib/tztab Fri Sep 30 09:58:02 2011
    ***************
    *** 433,439 ****
    WST-3WSTDST
    0 3 25-31 3 1983-2038 0 WSTDST-4
    0 2 24-30 9 1983-1995 0 WST-3
    ! 0 2 25-31 10 1996-2038 0 WST-3

    # Belorussia (minsk) Time, Belorussia (minsk) Daylight Savings Time

    — 433,439 — WST-3WSTDST
    0 3 25-31 3 1983-2038 0 WSTDST-4
    0 2 24-30 9 1983-1995 0 WST-3
    ! 0 2 25-31 10 1996-2038 0 WSTDST-4

    # Belorussia (minsk) Time, Belorussia (minsk) Daylight Savings Time
    • 0
      Это для московского времени, в остальных поясах изменения по аналогии.
    • 0
      Т.е., я правильно, понимаю, что этот рецепт стоит дополнить фразой «обновлений от вендора нет, но можно вручную сделать это так»?
      • 0
        Если честно, то я не знаю: у нас какие-то полулегальные инсталляции hpux, и я не в курсе, как там с официальной поддержкой.
  • 0
    В Украине тоже вроде как отменили переход, но совсем недавно и обновления у нас еще нет.

    З.Ы. Власти спорят об отмене отмены перехода.
    • 0
      Обновление tzdata есть.
      • 0
        Нам саппорт Red Hat еще ничего не сообщил.
  • +3
    часы крутые
    • +1
      Меня тоже впечатлили. Diesel Time Zone Watch, называются.
  • 0
    А как на счёт того, что если убрать в Windows галочку «Автоматический переход на летнее время»?
    • 0
      Вариант. Убрать «автоматический переход на зимнее время» и скорректировать соответствующим образом часовой пояс (вместо +3 поставить +4 для MSK, вместо +2 указать +3 для Украины).
      Лично я так первым делом и поступил, как закон приняли.
    • 0
      сделал так на рабочем компе и все время, пока не пришло обновление, у него с сервером были разные представления о том сколько времени, например отображаемая дата создания файлов в сетевой папке отличалась на час от реального, хотя фактически часы шли правильно и на компе и на сервере.
      • 0
        Это относится к домашнему компу.
        В сети время, естественно, должно быть одинаковым и на сервере и на рабочей машине.
        В противном случае, при отключении автоматического перевода надо переводить тайм-зону в +1 от текущей, в результате сервер и рабочая станция оказываются в разных временных зонах, из-за чего и «непонятки».
        Рабочая станция выставляет таймстамп файлу по своей TZ, а сервер определяет по своей.
        Собственно это одна из проблем отмены перевода времени в том числе.

        В случае таймстампов в БД потенциально все может быть еще более печальным, особенно если там ведутся какие-то финансовые расчеты которые зависят от времени, а не даты.
        Да и синхронизация, например, доменов в AD или какого-нибудь кластера — если там все по UTC при наличии центрального NTP-сервера — все ок. Если используются TZ — последствия могут быть весьма непредсказуемыми.
        • 0
          Именно поэтому внутри системы всё должно быть в UTC, а часовые пояса применяться должны только к пользовательскому интерфейсу.
          • 0
            Ну, по-хорошему — да. Те же таймстампы должны ставиться внутренними процедурами сервера с его временными метками. Но ситуация, когда временные метки проставляет клиентская процедура, к сожалению не так уж редка.
  • +2
    В FreeBSD можно просто обновить из портов:

    #cd /usr/ports/misc/zoneinfo
    #sudo make install clean

    #sudo tzsetup

    И установить зону заноово.
    • 0
      В бубунтах всяких aptitude install tzdata.
  • +1
    Думаю что на всех нокиях под симбианом будут проблемы ибо они обновляются совершенно не централизовано.
  • +1
    Fedora 15 с последними обновлениями.
    [devil@skynet ~]$ ./test_tz
    OK
    


  • 0
    Во freebsd 8.1 что-то реально поломается? Или просто дату можно будет перевести на час вручную?
    Если нет, то можно как-то tzdata обновить без обновления всей системы?
  • 0
    Интересно, как операторы сотовой связи вещают в сеть сигналы времени и как Андроид их воспринимает? То есть если я выберу автоматическую синхронизацию по сигналам, будет ли на «проблемном» телефоне нормальное время или сигналы будут приняты, но неправильно обработаны из-за проблем с tzdata и часы пойдут неверно?

    Если следовать топику и проводить аналогии с NTP, то все плохо, так как проблема на стороне ОС?
    • +2
      При синхронизации с оператором, телефон выставляет не только время, но и временную зону. Поэтому можно сделать вывод, что оператор кроме времени выдает и информацию о зоне в которой я нахожусь. Поэтому здесь все зависит от оператора — если у него все нормально, то и на проблемном телефоне все будет нормально.
  • 0
    Nexus One/S — WhisperCore 0.5.5 — все плохо
  • 0
    Archlinux с последними обновлениями — OK.
    $ pacman -Si tzdata | grep Version
    Version : 2011k-1
    • 0
      Можете посмотреть, когда в Arch появилась tzdata 2011h и как точно называлась версия?
      • 0
        Пакет tzdata 2011h-1, обновление с ним поставил 8 июля. В репозиториях этой версии уже нет, так что даже не знаю, как узнать, когда она появилась там.
  • 0
    В Gentoo 2011l, но для стабильных установок последним отмечен 2011h, как и в CentOS и Debian.
  • +2
    По поводу Windows, есть дополнения:

    у MS есть ручное решение

    Также, не забывайте, что на XP нужен SP3, на 2003 — SP2, на 2008 SP2. 2000 не поддерживается.
    Установка самого патча KB2570791 перезагрузки не требует.
    • 0
      Спасибо, добавил!
  • +1
    Asus TF101 (android 3.2.1) — последняя штатная прошивка от асуса.
    Все плохо.
    • 0
      Спасибо, добавляю :)
  • 0
    Про багу не забудьте — bugs.launchpad.net/ubuntu/+source/tzdata/+bug/868395
  • 0
    CyanogenMod-7.0.3-N1 — всё плохо
    Позже проверю 7.1
    • 0
      Для какого устройства? Или там без разницы?
      • –1
        Что-то мне подсказывает, что N1 — это и есть название устройства. Google Nexus One.
  • +1
    Nexus One c прошивкой CyanogenMod-7.1 от 13.10.2011 220 сборка — все плохо.
  • +1
    debian 6.0.2 — все ок
    запустил процесс проверки на своем windows phone 7, через час отпишусь (не забыть бы потом обратно время перевести)
    • 0
      время 3:00 и продолжает идти дальше!

      dell venue pro с windows 7.10.7720.68 — все ок
    • 0
      Читаю и диву даюсь! ЛЮДИ! А слабо вам перевести время так, чтобы ждать не 61 минуту, а всего две? Зачем этот час ждать? Объясните.
      • 0
        Не думал об этом, такой способ проверки описан в топике, его и использовал
        Универсальный, но весьма длинный способ проверки — годится, в частности, для любых мобильных телефонов и прочих подобных устройств: выставить часы принудительно на 2011-10-30 01:59 и подождать 1 час и 1 минуту. Если устройство/ОС переставит после этого часы на 02:00 — то, значит, все плохо, timezone не обновлены.


        Возможно, если перевести время сразу на после 2:00 то механизм автоперевода часового пояса по какой то причине может не активироваться и будет казаться что все ок.

        А если переводить время на 01:59 то эксперимент получается абсолютно «чистый».
  • +2
    На FreeBSD, Debian и Ubuntu Server я фиксил таким самодельным скриптом:

    #!/bin/sh

    # Disallow winter time for Moscow

    echo "Disable winter time for MoscoW"

    sleep 3

    mkdir ./temp1

    cd ./temp1

    wget tx-us.lunar-linux.org/lunar/mirrors/tzdata2011k.tar.gz

    tar xzf tzdata2011k.tar.gz

    cp /etc/localtime /tmp/localtime.old

    zic europe

    ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

    cd ..
    rm -rf ./temp1


  • +1
    Cyanogen, один из последних ночных билдов — всё плохо.

    Вообще я думаю, это будет один из самых эпических электронных фейлов за историю. Думаю, что около 99% девайсов (часов, микроволновок, кпк, телефонов и пр.), которые умеют переводить время никогда не получат обновлений. Вообще чем думали те, которые это принимали вообще не ясно.
    • +1
      Ну, чисто технически — обновления таймзон происходят по десятку раз в год. Другой вопрос, что нас это обычно не затрагивало.
  • 0
    Вообще интересно, как прошло сокращение часовых поясов чуть раньше. Как я понял все вроде бы проще, но геморрой тоже возможен был.
    • 0
      Сейчас ситуация принципиально отличается.
      Когда в 2009-2010 годах Кемерово, Ижевск, Самара, Чукотка и Камчатка изменили часовой пояс, то они просто выбрали у себя в настройках другой часовой пояс (соседний). Причём сам этот другой пояс уже существовал раньше, и правила расчёта времени в этом другом поясе не поменялись.

      А сейчас как раз меняются правила расчёта локального времени внутри самого часового пояса.
      Например MSK — раньше было UTC+3, а теперь стало UTC+4.
  • 0
    В TZ database соответствующие изменения были внесены весьма оперативно: закон РФ опубликован 2011-06-06, а изменения были опубликованы в версии 2011h от 2011-06-15.
    Это неправда.
    1) Постановление Правительства РФ, которое устанавливает новый порядок исчисления времени на территории РФ (с отменой сезонных переводов часов) вступило в силу только 6 сентября 2011.
    2) В базе tzdata эти изменения для России появились с версии 2011j
    3) Изменения в базе tzdata для Украины и Белоруссии появились с версии 2011k
    • 0
      «Постановление Правительства» и «Федеральный закон» — это несколько разные вещи, вы не находите? Я свои источники указал.

      То, что в базе tzdata обновления для России появились с 2011h — тоже можно убедиться легко самостоятельно, скачав этот файл и найдя в нем строки:

      # From Alexander Krivenyshev (2011-06-14):
      # According to Kremlin press service, Russian President Dmitry Medvedev
      # signed a federal law "On calculation of time" on June 9, 2011.
      # According to the law Russia is abolishing daylight saving time.
      # 
      # Medvedev signed a law "On the Calculation of Time" (in russian): 
      # <a href="http://bmockbe.ru/events/?ID=7583">
      # http://bmockbe.ru/events/?ID=7583
      # </a>
      # 
      # Medvedev signed a law on the calculation of the time (in russian):
      # <a href="http://www.regnum.ru/news/polit/1413906.html">
      # http://www.regnum.ru/news/polit/1413906.html
      # </a>
      
      # From Arthur David Olson (2011-06-15):
      # Take "abolishing daylight saving time" to mean that time is now considered
      # to be standard.
      # At least for now, keep the "old" Russia rules for the benefit of Belarus.
      
      # These are for backward compatibility with older versions.
      
      # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
      Zone	WET		0:00	EU	WE%sT
      Zone	CET		1:00	C-Eur	CE%sT
      Zone	MET		1:00	C-Eur	ME%sT
      Zone	EET		2:00	EU	EE%sT
      

      Так что не надо вводить людей в заблуждение.
      • 0
        ОК, согласен
  • –1
    у меня уже пару месяцев некоторые письма приходят из будущего на час, похоже корпоративный exchange косячит
  • +3
    Кстати да, пидарасы с патентами нашли самое лучшее время потроллить маинтейнера tzdata.
  • 0
    > Язык Java, как правило, носит свои timezones с собой

    А что же тогда такое пакет tzdata-java, который обновляется в nix-системах вместе с пакетом tzdata и соответствует ему по номеру версии?
    • +1
      Это оно и есть, просто в линукс-дистрибутивах он оторван и отдельно обновляется. В данном случае речь велась об обычной полной сборке JRE от sun/oracle, внутри которой лежит своя tzdata.
  • 0
    Так как тема эта в целом весьма обширная, поэтому прошу помощи хабрасообщества в проверке всего, до чего можно дотянуться, чтобы создать своего рода справочник: что уже обновлено, что можно обновить (и в каких именно обновлениях этот патч накладывается), что ломается, а что нет
    Постарался изложить эту информацию в своей статье:
    Изменение часовых зон в России, Белоруссии, Украине и Армении
    • 0
      Спасибо за статью, у вас гораздо полнее описана ситуация по не-России и с Windows-based вещами в частности. Добавил ссылку.
  • 0
    Может добавить в топик?
    Cisco IOS (7206, 7600, GSR, ITP7200, ITP7600, AS5xxx, RPM-XF и т.д.)
    Необходимо дать команду:
    Пример для оборудования, использующего Московское время, для других часовых поясов необходимо указать параметры своей временной зоны:

    no clock summer-time MSK recurring last Sun Mar 2:00 last Sun Oct 3:00
    clock timezone MSK 4
  • 0
    HTC Hero — последняя официальная прошивка (2.1-update1, Android 2.1) — все плохо
  • 0
    под centos6 выдает faild1, что не так?
    Local time is now: Fri Oct 14 16:12:40 MSD 2011.
    Universal Time is now: Fri Oct 14 12:12:40 UTC 2011.
    • 0
      Ну, если у вас локальное время сейчас в _MSD_ — то это уже проблема — должно быть в MSK = UTC+4.
  • +1
    Windows Phone 7.5 все хорошо
  • НЛО прилетело и опубликовало эту надпись здесь
  • +1
    В «официальной» поставке Oracle Java SE изменения внесены

    Не вводите людей в заблуждение. В официальной поставке Oracle изменения НЕ внесены. 1.3.40 — это всего лишь версия патчера (tzupdater), которым вы можете допилить текущую официальную поставку до нужного состояния
    • +1
      Ну и вообще Oracle — мудаки. Выход DSTv17, который исправит определения российских часовых поясов, собственно в CУБД Oracle, намечен на… СЕРЕДИНУ ДЕКАБРЯ. В связи с этим переходим на пояса GMT.
  • +2
    в Python для работы с временными зонами используется библиотека pytz pypi.python.org/pypi/pytz. Последняя версия 2011k. Скрипт

    import pytz
    print pytz.__version__


    Печатает версию библиотеки. Если меньше 2011h, то нужно запустить
    sudo pip install -U pytz
    или
    sudo easy_install -U pytz
  • +1
    Товарищ сотворил патч для андроида.
    Читать в ЖЖ можно уже сейчас: crazy-coder.livejournal.com/26142.html
    Читать в песочнице можно будет когда пост пройдет модерацию.
    • 0
      Товарищ молодец, спасибо! Только вот зря он пост выложил заранее где-то на стороннем ресурсе — по правилам его сейчас должны не пропустить за такое…
    • +1
      Аналогичный независимый патч, делающий тоже самое, в Маркете
      • –1
        Кстати, почему там обновляют tzdata до 2011k, а не до последней версии (2011l)?
        • 0
          Если я не ошибаюсь, то 2011l вышла совсем недавно. Да и для России предыдущей версии хватит. А так, думаю что обновится и там до свежей версии.
  • 0
    извините за оффтом, а что это за часики на рисунке? очень интересные
  • 0
    Ну в общем в последующие лет 10 всё равно там или сям придётся вручную отменять перевод времени дважды в год.
    • 0
      Это если есть такая возможность — т.е. есть «перевод часов». Если я правильно понимаю, «перевод» как таковой есть только на Windows-системах и всяких совсем простеньких штуковинах типа встроенных прошивок микроволновок и китайских часов.
  • 0
    Не могли бы вы расшифровать эту фразу?
    > проводить эксперименты всегда проще всего на наиболее «официальной» — т.е. именно Europe/Moscow.
    • +1
      Все текущие нормативные документы по России ставят во главу угла timezone MSK — т.е. Europe/Moscow. Ее поведение везде прописано и наиболее тривиально — для остальных зон нужно минимально думать, как и что там изменяется. А так, конечно, разницы никакой.
  • 0
    По поводу СУБД, вдруг кому пригодится:
    PostgreSQL может использовать системную tzdata, а может ту, что идёт с ним в комплекте. Задаётся это на этапе компиляции.

    В Debian PostgreSQL собран таким образом, что использует системную tzdata. Чтобы избежать проблем неправильным временем нужно обновить tzdata в системе и перезапустить (restart) PostgreSQL.
  • +1
    Samsung Galaxy S II — всё плохо (Android 2.3.3)
  • 0
    В табличку добавь Ubuntu 8.04 LTS «hardy» — 2011j~repack-0ubuntu0.8.04 и всё ок.
  • 0
    HTC DesireHD последняя родня прошивка — все ок
    • 0
      Ну хоть где-то все хорошо :) А можно более точно — версию прошивки, дату обновления?
      • +1
        HTC Desire HD, Andriod 2.3.3, номер ПО 2.5.0.405.2, обновление было по воздуху где-то в июле. Дата сборки ядра 9 июня.
        • 0
          Спасибо, добавляю!
        • 0
          Можете посмотреть содержимое файла?
          /system/usr/share/zoneinfo/zoneinfo.version
    • 0
      > HTC DesireHD последняя родня прошивка — все ок

      А что ОК? Какой часовой пояс показывает сейчас?
      Поменяйте дату на ноябрь 2011. Какой при этом часовой пояс показывает?
      • 0
        Товарищ уже написал в личку, что не ок.
  • 0
    Nexus One — 2.3.6 официальная, Moscow GMT +4
    • 0
      Это ничего не значит. Android показывает текущее смещение относительно UTC уже с учётом DST.
      Поэтому сейчас «GMT +4» может означать как часовой пояс UTC+4 без DST, так и часовой пояс UTC+3 с DST.
      Посмотрите содержимое файла /system/usr/share/zoneinfo/zoneinfo.version
      Это даст более достоверную информацию.
  • 0
    Samsung Galaxy Ace 2.3.3 — все плохо.
    Правда давно не обновлялся, может прилетело чего хорошего.
    • 0
      Попробуйте обновиться, пожалуйста?
      • 0
        Обновился. Теперь все хорошо.
        • 0
          Супер :) Можно узнать номер прошивки с которой все хорошо?
          • 0
            2.3.5 — S5830XXKPO
            • 0
              Спасибо, сейчас добавлю!
  • +1
    HTC Legend (Android 2.2, сборка 3.15.405.3 CL291292) — все плохо
    • 0
      Записал, спасибо!
  • –1
    FreeBSD:

    portinstall zoneinfo
    cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
    ntpdate europe.pool.ntp.org
  • +1
    Спасибо за информацию. Вовремя спас свой сервер.
  • +1
    Cr-48 (16.0.912.10; 1193.15.0 dev x86) — все плохо
  • +1
    На Solaris 10, если нет поддержки от Oracle, все можно проделать вручную, сценарий точно такой же, как и для Linux & FreeBSD. Качаем tx-us.lunar-linux.org/lunar/mirrors/tzdata2011k.tar.gz, распаковываем, запускаем zic europe. Всё.
  • +1
    На Mikrotik RouterOS (пока) все плохо. Но для MSK можно выставить Asia/Dubai :)
  • 0
    для справки, вот тут есть алгоритм излечения макоси Snow Leopard — symbi.org/snow_leo_tzdata.html (авторство не мое)
  • 0
    также PHP может использовать свою внутреннюю библиотеу таймзон, которая не апдейтится. обойти это можно установкой расширения timezonedb:

    pecl install timezonedb

    оно вытащит свежие определения и заоверрайдит вкомпиленные устаревшие

    вычитано у Тутубалина

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.