Pull to refresh

Comments 193

UFO landed and left these words here
С этого и началось приближение 2012 и самопроизвольные удары Skynet по врагу ядерными зарядами…
Представьте себе поведение аналога системы «Периметр» на основе информации о том, что в течение часа не поступало вообще никаких сведений о жизнеспособности ключевых узлов командной системы «Казбек» и линий связи ракетных войск стратегического назначения.
Все нормальные системы мониторинга 24x7 работают по UNIX timestamp, а не по дата+время. Все таймауты/временные интервалы засекаются по CLOCK_MONOTONIC, а не по UNIX timestamp (чтобы не сбиваться из-за того же NTP). В логах время может записываться по-разному, но корректные анализаторы логов должны быть готовы к скачкам временных меток в логах (из-за летнего/зимнего времени и NTP). Так что проблема если и существует, то исключительно в кривом софте.
С системами всегда работают какие-то люди и они обычно как раз смотрят время в привычном им формате локальной временной зоны.

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

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


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

#!/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'
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Запускали вставкой команд в командную строку, а не записью в файл и запуском файла.
я записал в файл, выставил chmod и сделал "./script"
Спасибо. Что-бы еще сделать со старыми версиями iOS…
вероятно эта инструкция подойдет к jailbroken устройствам, по крайней мере у меня на iPod Touch все файлы в тех же местах. попробую попозже обновить
подтверждаю, все работает. правда у меня на девайсе не оказалось unzip пришлось перепаковать на компе
С телефонами вообще проблемы не вижу. На моем андроиде была при первичной настройке поставлена галочка для получения времени от сети оператора, что позволяет в поездках не заморачиваться за переключение времени. Поэтому решение поднятого в моем случае лежит на операторе. А операторы, как мне кажется, крайне заинтересованы в наличии правильных настроек.

Домашняя винда тоже получает время с серверов, а уж на ntp-серверах точно заморочились еще когда наша власть только начала чесаться в сторону этого вопроса.
UFO landed and left these words here
Пчеловоды. Вполне даже себе корректно шлют.

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

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

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

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

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

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

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

в общем нифига они не следят за этим — слишком маленькая база людей, которые вообще знают о такой услуге.
Оно автоматом приходит через Windows Update, так что скорее всего уже стоит.
Не забывайте про владельцев всяких зверских виндовых сборок.
Скупой платит дважды. (с) Народ
Не гонялся бы ты поп за дешевизной. (с) А.С. Пушкин
И че, им теперь обновляться нельзя?
И конечно мое любимое:

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

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

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

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

Варианта два: дождаться ноября, позвонить опсосу.
Мне смысла нету: мой опсос точно не вещает эти сигналы :) (tele2)
Точно все плохо: через час и минуту время соскочило на 02:00, а часовой пояс на GMT+3, то есть временные зоны не обновлены.
LG Optimus One (A2.3.3 прошивка LG-P500-v20D) — аналогично. Звонил по этому поводу в российское представительство LG, сказали, что сами они исправлением прошивок не занимаются, надо ждать от корейцев обнову. Обещали передать наверх.
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.
Что интересно, у меня date показывает сейчас (обновленный Moscow) — SAMT (Samara time).
check.sh выдает OK
В Meego все аналогично обычным дистрибутивам Linux? Т.е. GNU date и tzdata по обычному пути?

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

Обратите внимание на часовой пояс: GMT+4. MМеняем дату на месяц вперед. Получаем:
Часовой пояс изменился на GMT+3.
Зимой для московского времени показывает UTC+3, летом для Московского времени показывает UTC+4.
Это лишь означает, что в этой строке показывается сдвиг относительно UTC сразу с учётом DST.
Но корректно-то не обновилось, увы.
Попробовал тест для 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.
Все то, что про лето 2011 пишет MSD — это явно системы без обновлений.
Спасибо за разъяснения.
Обновился и теперь все тесты проходят.
openjdk зависит от пакета tzdata-java, который хранит в себе инфу о таймзонах. Для него нужные обновления есть.
А вот sun-java6-jdk таких пакетов не имеет, что обидно. И обновлений для него нет. Видимо, придётся обновлять скриптом типа tzupdater, который на сайте Java(Oracle) лежит.
в Debian stable новая tzdata давно уже приехала с обновлениями

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

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
Это для московского времени, в остальных поясах изменения по аналогии.
Т.е., я правильно, понимаю, что этот рецепт стоит дополнить фразой «обновлений от вендора нет, но можно вручную сделать это так»?
Если честно, то я не знаю: у нас какие-то полулегальные инсталляции hpux, и я не в курсе, как там с официальной поддержкой.
В Украине тоже вроде как отменили переход, но совсем недавно и обновления у нас еще нет.

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

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

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

#sudo tzsetup

И установить зону заноово.
UFO landed and left these words here
Думаю что на всех нокиях под симбианом будут проблемы ибо они обновляются совершенно не централизовано.
Fedora 15 с последними обновлениями.
[devil@skynet ~]$ ./test_tz
OK


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

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

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

Также, не забывайте, что на XP нужен SP3, на 2003 — SP2, на 2008 SP2. 2000 не поддерживается.
Установка самого патча KB2570791 перезагрузки не требует.
Asus TF101 (android 3.2.1) — последняя штатная прошивка от асуса.
Все плохо.
Для какого устройства? Или там без разницы?
Что-то мне подсказывает, что N1 — это и есть название устройства. Google Nexus One.
Nexus One c прошивкой CyanogenMod-7.1 от 13.10.2011 220 сборка — все плохо.
debian 6.0.2 — все ок
запустил процесс проверки на своем windows phone 7, через час отпишусь (не забыть бы потом обратно время перевести)
время 3:00 и продолжает идти дальше!

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


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

А если переводить время на 01:59 то эксперимент получается абсолютно «чистый».
На 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


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

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

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

То, что в базе 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

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

А что же тогда такое пакет tzdata-java, который обновляется в nix-системах вместе с пакетом tzdata и соответствует ему по номеру версии?
Это оно и есть, просто в линукс-дистрибутивах он оторван и отдельно обновляется. В данном случае речь велась об обычной полной сборке JRE от sun/oracle, внутри которой лежит своя tzdata.
Так как тема эта в целом весьма обширная, поэтому прошу помощи хабрасообщества в проверке всего, до чего можно дотянуться, чтобы создать своего рода справочник: что уже обновлено, что можно обновить (и в каких именно обновлениях этот патч накладывается), что ломается, а что нет
Постарался изложить эту информацию в своей статье:
Изменение часовых зон в России, Белоруссии, Украине и Армении
Спасибо за статью, у вас гораздо полнее описана ситуация по не-России и с Windows-based вещами в частности. Добавил ссылку.
Может добавить в топик?
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
HTC Hero — последняя официальная прошивка (2.1-update1, Android 2.1) — все плохо
под 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.
Ну, если у вас локальное время сейчас в _MSD_ — то это уже проблема — должно быть в MSK = UTC+4.
UFO landed and left these words here
В «официальной» поставке Oracle Java SE изменения внесены

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

import pytz
print pytz.__version__


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

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

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

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

pecl install timezonedb

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

вычитано у Тутубалина
Only those users with full accounts are able to leave comments. Log in, please.