LINUX.ORG.RU

tzdata 2014h-2

 


0

2

Господа в свете последних событий пытаюсь предотвратить split brain 26 числа. Тестирую

root@jtimetest:~# cat /etc/issue
Debian GNU/Linux 7 \n \l
root@jtimetest:~# dpkg -l | grep tzdata
ii  tzdata                             2014h-2                       all          time zone and daylight-saving time data
root@jtimetest:~# zdump -v Europe/Moscow | grep 2014
Europe/Moscow  Sat Oct 25 21:59:59 2014 UTC = Sun Oct 26 01:59:59 2014 MSK isdst=0 gmtoff=14400
Europe/Moscow  Sat Oct 25 22:00:00 2014 UTC = Sun Oct 26 01:00:00 2014 MSK isdst=0 gmtoff=10800
root@jtimetest:~# date
Пнд Окт 20 18:13:35 MSK 2014
root@jtimetest:~# date -s '2014-10-26 01:59:50'
Вск Окт 26 01:59:50 MSK 2014
root@jtimetest:~# date
Вск Окт 26 02:00:04 MSK 2014
root@jtimetest:~# 

WTF ? Почему по прежнему 02:00, должно же быть 01:00 ?!

WTF ? Почему по прежнему 02:00, должно же быть 01:00 ?!

А по-твоему оно должно зациклиться, час назад на 01:00 и в 01:59:59 снова на 01:00 ?

sdio ★★★★★ ()
Ответ на: комментарий от sdio

А по-твоему оно должно зациклиться, час назад на 01:00 и в 01:59:59 снова на 01:00 ?

Так время по Гринвичу-то во второй раз уже другое будет.

proud_anon ★★★★★ ()
Ответ на: комментарий от sdio

Перевод стрелок будет произведен 26 октября 2014 года в 2 часа ночи. В этот день россиянам предстоит перевести стрелки часов на час назад.


Как мне правильно распарсить тогда ?

pyatak123 ()

Попробуй

date --utc -s '2014-10-25 21:59:50'
date
#Через 11 секунд
date

proud_anon ★★★★★ ()
Последнее исправление: proud_anon (всего исправлений: 1 )
Ответ на: комментарий от proud_anon

время по Гринвичу-то во второй раз уже другое будет.

Время по Гринвичу — константа. Попробуй еще раз.

sdio ★★★★★ ()
Ответ на: комментарий от sdio

Время по Гринвичу — константа.

Это неправда, оно постоянно меняется.

Попробуй еще раз.

Если я переведу часы на 01:59:50, 26 октября 2014 года по Москве, то на них будет 25 октября 21:59:50 UTC. Я ожидаю, что через 10 секунд на них будет 25 октября 22:00:00 UTC и 26 октября 01:00:00 MSK. Через час на них будет 25 октября 23:00:00 UTC и 26 октября 02:00:00 MSK. В чём моя ошибка?

proud_anon ★★★★★ ()
Последнее исправление: proud_anon (всего исправлений: 1 )
Ответ на: комментарий от proud_anon

В чём моя ошибка?

Устанавливая (корректируя) системные часы, ты меняешь UTC, а как оно вычислится относительно TZ вот здесь ты и ошибаешься.

sdio ★★★★★ ()
Ответ на: комментарий от proud_anon

Это неправда, оно постоянно меняется.

Оно не меняется. меняется твоя точка отсчета.

(date --local) - (date --utc) = константа

sdio ★★★★★ ()
Ответ на: комментарий от sdio

Устанавливая (корректируя) системные часы, ты меняешь UTC, а как оно вычислится относительно TZ вот здесь ты и ошибаешься.

Ну и как оно вычислится относительно TZ? Перестань уже втирать нам, что ты д'Артаньян, а снизойди и расскажи по-нормальному.

(date --local) - (date --utc) = константа

Ну это ведь уже совсем другое утверждение, а кроме того, как мы видим, оно тоже не константно.

proud_anon ★★★★★ ()
Ответ на: комментарий от sdio

Проверили сопоставить UTC с TZ такая же херь, перевода не происходит.

pyatak123 ()
Ответ на: комментарий от pyatak123
$ date
Mon Oct 20 17:48:13 IDT 2014

$ date -d "127 hours"
Sun Oct 26 00:49:22 IDT 2014

$ date -d "128 hours"
Sun Oct 26 01:49:26 IDT 2014

$ date -d "129 hours"
Sun Oct 26 01:49:29 IST 2014

IDT — летнее время

IST — зимнее

sdio ★★★★★ ()
Ответ на: комментарий от sdio

Нет, ну у меня в CET тоже всё работает с переходом на зимнее время. Почему в MSK-то проблемы?

Причём там ведь другая ситуация: 26 октября в 02:00 MSK время станет UTC+03:00 навсегда (ну, то есть, до следующего указа).

proud_anon ★★★★★ ()
Последнее исправление: proud_anon (всего исправлений: 1 )
Ответ на: комментарий от sdio

-d «7 days» — в то же время через 7 дней, а не через 7*24*60*60 секунд

Не похоже:

--> date            
Mo 20. Okt 16:58:00 CEST 2014
--> date -d "7 days"
Mo 27. Okt 15:58:01 CET 2014

proud_anon ★★★★★ ()
Ответ на: комментарий от proud_anon

Ну значит, ошибся.

Europe/Moscow Sat Oct 25 21:59:59 2014 UT = Sun Oct 26 01:59:59 2014 MSK isdst=0 gmtoff=14400
Europe/Moscow Sat Oct 25 22:00:00 2014 UT = Sun Oct 26 01:00:00 2014 MSK isdst=0 gmtoff=10800

CET Sun Oct 26 00:59:59 2014 UT = Sun Oct 26 02:59:59 2014 CEST isdst=1 gmtoff=7200
CET Sun Oct 26 01:00:00 2014 UT = Sun Oct 26 02:00:00 2014 CET isdst=0 gmtoff=3600

Смотри разницу в isdst=0 isdst=1

sdio ★★★★★ ()
Последнее исправление: sdio (всего исправлений: 1 )
Ответ на: комментарий от sdio
--> TZ=Europe/Moscow date -d "127 hours"
So 26. Okt 02:01:14 MSK 2014
--> TZ=Europe/Moscow date -d "128 hours"
So 26. Okt 03:01:20 MSK 2014

Итак, мы приближаемся к разгадке тайны. Если у тебя реально так показывает, а у нас нет, то, вероятно, у тебя в tzdata учтён этот переход, а у нас — нет. У тебя какой дистрибутив и версия tzdata?

У меня Linux Mint 17, tzdata 2014e-0ubuntu0.14.04, обновлений нет.

proud_anon ★★★★★ ()
Ответ на: комментарий от sdio

tzdata 2014h-0wheezy1

Интересно. В принципе, я готов поверить, что у меня проблема в tzdata: переход на новое время в России заявлен в 2014f, но не знаю, почему апдейтов нет, может быть, в Убунте отдельно пропатчили. Но у ТС 2014h. Странно, почему у него не работает.

proud_anon ★★★★★ ()
Ответ на: комментарий от proud_anon

Если у тебя реально так показывает, а у нас нет, то, вероятно

У тебя часы системные часы в UTC настроены?

sdio ★★★★★ ()
Ответ на: комментарий от sdio
--> TZ=Europe/Moscow date -d "125 hours"
So 26. Okt 00:16:25 MSK 2014
--> TZ=Europe/Moscow date -d "126 hours"
So 26. Okt 01:16:30 MSK 2014
--> TZ=Europe/Moscow date -d "127 hours"
So 26. Okt 02:16:32 MSK 2014
--> TZ=Europe/Moscow date -d "128 hours"
So 26. Okt 03:16:39 MSK 2014


Нет, перехода не происходит.

Но это интересная мысль, что проблема в хардварных часах. Однако у меня может быть старая версия tzdata. Предлагаю следующее.

Пусть ТС скажет, в местном ли времени у него часы. Если да, пусть переставит в UTC и перепроверит. Если тогда tzdata учтёт переход, то можно говорить о серьёзной проблеме в tzdata или date.

proud_anon ★★★★★ ()
Последнее исправление: proud_anon (всего исправлений: 1 )
Ответ на: комментарий от proud_anon

Никогда не думал о локальном времени в системных часах. Если оно локальное, то и переводить его как бы не надо (средствами TZ).

sdio ★★★★★ ()
Ответ на: комментарий от proud_anon

У меня Linux Mint 17, tzdata 2014e-0ubuntu0.14.04, обновлений нет.

У меня в генточке с 2014e тоже не работало, а с 2014h работает:

$ date -d "126 hours" ; date -d "127 hours"
Вс окт 26 01:28:04 MSK 2014
Вс окт 26 01:28:04 MSK 2014

Lavos ★★★★★ ()
Ответ на: комментарий от sdio

Если оно локальное, то и переводить его как бы не надо (средствами TZ).

Надо, чтобы в конечном счёте «Sat Oct 25 22:00:00 2014 UTC = Sun Oct 26 01:00:00 2014 MSK», а этого не происходит.

Насколько я понимаю работу Линукса с часами, по умолчанию система загружает время из аппаратных часов один раз (ну или если потом какой-нибудь скрипт это сделает), а потом считает время совершенно отдельно. Обычно при выключение система инициализации записывает системное время в аппаратные часы. А без перезагрузки наши эксперименты с «date -s» на них никак не отражаются. Так что мне кажется, что всё должно правильно работать вне зависимости от того, что происходит в аппаратных часах.

proud_anon ★★★★★ ()
Ответ на: комментарий от sdio

У, реально на генте все уже ОК:

TZ=Europe/Moscow date -d '128 hours'
Вс окт 26 02:35:41 MSK 2014

TZ=Europe/Moscow date -d '127 hours'
Вс окт 26 01:35:49 MSK 2014

TZ=Europe/Moscow date -d '126 hours'
Вс окт 26 01:36:08 MSK 2014

А арчег надо будет переводить ручками.

Eddy_Em ☆☆☆☆☆ ()

А вообще, человечным было бы не отнять 1 час, а прибавить хотя бы 2! Потому как жить по времени своего часового пояса — бред! Это только колхозникам хорошо.

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от peregrine

Ложился бы тоже на час раньше. Зато больше было бы светлого времени суток вечером. Удобно же! Лучше ночью на работке сидеть, а днем гулять, нежели наоборот.

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

Не знаю. У меня голова плохо просыпается в 5:30 (да и в 6:30 тоже печально), когда до солнышка незнамо сколько времени.

По теме: в Debian/Ubuntu не выпустили вовремя обновление, вроде как на днях очухались, но бюрократия большая, не знаю, успеют ли до перевода стрелок.

peregrine ★★★★★ ()
Ответ на: комментарий от Eddy_Em

Лучше ночью на работке сидеть, а днем гулять, нежели наоборот.

А если строителем работаешь? Не на всех ведь работах в мире надо сидеть.

proud_anon ★★★★★ ()
Ответ на: комментарий от peregrine

По теме: в Debian/Ubuntu не выпустили вовремя обновление, вроде как на днях очухались

Ах, вот оно как. А я думал тут что-то «сверх понятия сделано» (ⓒЛесков).

Однако у ТСа ведь Арч и tzdata версии 2014h.

proud_anon ★★★★★ ()
Ответ на: комментарий от proud_anon

Строители работают круглосуточно. Им ночь не помеха — есть прожекторы. Вот дождь-снег — да, неудобство. А в туман или сильный ветер не работает кран...

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Lavos

Достаточно было до 2014f:

Release 2014f - 2014-08-05 17:42:36 -0700

  Changes affecting future time stamps

    Russia will subtract an hour from most of its time zones on 2014-10-26
    at 02:00 local time.  (Thanks to Alexander Krivenyshev.)
    There are a few exceptions: <и там длинный-длинный перечень>
deterenkelt ()
Ответ на: комментарий от peregrine

По теме: в Debian/Ubuntu не выпустили вовремя обновление, вроде как на днях очухались, но бюрократия большая, не знаю, успеют ли до перевода стрелок.

Я в убунты накатил tzdata 2014h из sid ещё неделю назад, и вроде всё ок стало.

overmind88 ★★★★★ ()
Ответ на: комментарий от deterenkelt

Ну я каждый день генточку не обновляю. Было 2014e, затем сразу 2014h прилетело. Не даунгрейдить же.

Lavos ★★★★★ ()
Ответ на: комментарий от Eddy_Em

Зато больше было бы светлого времени суток вечером. Удобно же!

Хоть, я и сторонник летнего солнца (нравится, что темнеет поздно), но когда учебная пара в 8:00 начинается в полной темноте, а рассветать начинает лишь к началу первой 9.50... Начинаешь задумываться над тем, стоит ли оно того...

Jurik_Phys ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.