URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 92523
[ Назад ]

Исходное сообщение
"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"

Отправлено Антон , 30-Окт-11 22:14 
Привет всем. Запарил конечно перевод времени немного и тут я залечил все командой
ln -sf /usr/share/zoneinfo/Etc/GMT-4 /etc/localtime

А теперь внимание вопрос знатокам: Чтобы узнать время в Москве надо к Гринвичу прибавить четыре часа (+4 будет).
Так почему же zoneinfo (timezone) идет с обратным знаком, а именно минус 4? Гугл реально не помог :(


Содержание

Сообщения в этом обсуждении
"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено Дядя_Федор , 30-Окт-11 22:54 
Курим? Или нюхаем? Хотя есть еще вариант - месье принял гражданство Боливии. Или Доминиканы. Для информации - во всех нормальных системах (кроме доблестной Винды - хотя в 7-ке уже исправили) уже давно используют на GMT, а UTC.



"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено VolanD , 31-Окт-11 07:01 
> Привет всем. Запарил конечно перевод времени немного и тут я залечил все
> командой
> ln -sf /usr/share/zoneinfo/Etc/GMT-4 /etc/localtime
> А теперь внимание вопрос знатокам: Чтобы узнать время в Москве надо к
> Гринвичу прибавить четыре часа (+4 будет).
> Так почему же zoneinfo (timezone) идет с обратным знаком, а именно минус
> 4? Гугл реально не помог :(

Кстати тоже интерссно. Я у себя правил так:
cd /usr/ports/misc/zoneinfo
tzsetup


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено Дядя_Федор , 31-Окт-11 08:45 
> Кстати тоже интерссно. Я у себя правил так:
> cd /usr/ports/misc/zoneinfo
> tzsetup

Ну и чего там интересного? Товарищ слинковал локальное время с временем Доминикан и прочих разных Барбадосов. И потом удивленно спрашивает - "почему я так сделал?". Могу предположить только одно - от отсутствия ума. Первая же синхронизация времени с любым из NTP-серверов его горько разочарует.


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено zd3n , 31-Окт-11 09:06 

>  Ну и чего там интересного? Товарищ слинковал локальное время с временем
> Доминикан и прочих разных Барбадосов. И потом удивленно спрашивает - "почему
> я так сделал?". Могу предположить только одно - от отсутствия ума.
> Первая же синхронизация времени с любым из NTP-серверов его горько разочарует.

Не надо бочку катить... Всё верно...
У меня уральская таймзона - YEKT
До выхода патчей для tzdata, планировал менять зону YEKT на GMT+6.
При смене на GMT+6 - реальное время стало (гринвич-6).
Попробовав поставить GMT-6 - получил время (гринвич+6).
Сам не понял что за фигня такая...
Связавшись с саппортом Oracle Solaris, там подтвердили, что для уральской зоны (гринвич+6) надо ставить GMT-6.

Ну а после выхода необходимых патчей, изменение зоны  YEKT не потребовалось.

Но без проблем в час Х не обошлось.
Те сервера, который патчились без перезагрузки с последующей перекомпиляцией таймзоны через zic, "неперевод времени" отработали нормально, а вот часть сервисов почему-то стали работать по переведённому времени(при том что в ОС время не перевелось).
К таким сервисам относится cron, БД Sybase ASE. Рестарт сервисов всё исправил.
Также по неправильному времени стал работать tomcat. Т.к. java использует свои таймзоны.



"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено zd3n , 31-Окт-11 09:08 
P.S.
Все сервера у меня синхронизируются по NTP.

Но ведь NTP не учитывает таймзоны, а синхронизирует время относительно timestamp.


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено VolanD , 31-Окт-11 09:20 
>> Кстати тоже интерссно. Я у себя правил так:
>> cd /usr/ports/misc/zoneinfo
>> tzsetup
>  Ну и чего там интересного? Товарищ слинковал локальное время с временем
> Доминикан и прочих разных Барбадосов. И потом удивленно спрашивает - "почему
> я так сделал?". Могу предположить только одно - от отсутствия ума.
> Первая же синхронизация времени с любым из NTP-серверов его горько разочарует.

Неет. Вопрос в том, почему для Москвы +4 не подходит, а подходит -4. У меня также было. Для Красноярска +7 не подходил, а подходил -7.


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено Илья , 31-Окт-11 10:34 
>  Ну и чего там интересного? Товарищ слинковал локальное время с временем
> Доминикан и прочих разных Барбадосов. И потом удивленно спрашивает - "почему
> я так сделал?". Могу предположить только одно - от отсутствия ума.
> Первая же синхронизация времени с любым из NTP-серверов его горько разочарует.

Все правильно он сделал. И синхронизация будет проходить корректно.

The special area of Etc is used for some administrative zones, particularly for "Etc/UTC" which represents Coordinated Universal Time. In order to conform with the POSIX style, those zone names beginning with "Etc/GMT" have their sign reversed from what most people expect. In this style, zones west of GMT have a positive sign and those east have a negative sign in their name (e.g "Etc/GMT-14" is 14 hours ahead/east of GMT.)

http://en.wikipedia.org/wiki/Tz_database#Definition_of_a_tim...


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено Merten , 31-Окт-12 23:30 
>> Кстати тоже интерссно. Я у себя правил так:
>> cd /usr/ports/misc/zoneinfo
>> tzsetup
>  Ну и чего там интересного? Товарищ слинковал локальное время с временем
> Доминикан и прочих разных Барбадосов. И потом удивленно спрашивает - "почему
> я так сделал?". Могу предположить только одно - от отсутствия ума.
> Первая же синхронизация времени с любым из NTP-серверов его горько разочарует.

Читаем внимательно!
http://www.kakras.ru/doc/time-zone.html#time-zone
Москва  Московское время, город Сочи     UTC/GMT+4

далее Difference between UTC and GMT is less than 1 second
далее http://ru.wikipedia.org/wiki/Всемирное координированное время
Кто думает что между GMT и UTC есть огромная разница в 8 часов и что там где было +4 стало -4...

С Ш А, Нью-Йорк.  "Восточное время" (EDT - US Eastern Daylight Time Zone)     UTC/GMT-4

Москва пока находится на том же месте что и была.


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено Merten , 01-Ноя-12 17:03 
>[оверквотинг удален]
> Читаем внимательно!
> http://www.kakras.ru/doc/time-zone.html#time-zone
> Москва  Московское время, город Сочи  UTC/GMT+4
> далее Difference between UTC and GMT is less than 1 second
> далее http://ru.wikipedia.org/wiki/Всемирное координированное время
> Кто думает что между GMT и UTC есть огромная разница в 8
> часов и что там где было +4 стало -4...
> С Ш А, Нью-Йорк.  "Восточное время" (EDT - US Eastern Daylight
> Time Zone)  UTC/GMT-4
> Москва пока находится на том же месте что и была.

Просто создатели tz database решили, что они будут считать в обратную сторону.


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено aurved , 31-Окт-11 09:30 
Как обычно чтение манов сильно помогает.

man timezone

The offset string immediately follows std and specifies the time value to be added to the local time to get Coordinated  Universal  Time  (UTC).

То есть прибавляем к local смещение -- Москва например + (- 4 часа) и получаем UTC.


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено Andrey Mitrofanov , 31-Окт-11 10:03 
> А теперь внимание вопрос знатокам: Чтобы узнать время в Москве надо к
> Гринвичу прибавить четыре часа (+4 будет).
> Так почему же zoneinfo (timezone) идет с обратным знаком, а именно минус
> 4? Гугл реально не помог :(

География за... Ну, даже не знаю, за какой класс. На крайняк астрономия, но вряд.

Солнышко, день, рассвет и пр. ""идёт"" с востока на запад (именно поэтому, например, НГ наступает сначала на Камчатке/во Владивостоке, уже _потом_ в Москве). Так вот, время (~астрономическое и привязанные к нему местные и пр.) ""идёт"" примерно так же. Например, 9 утра наступает в Москве, и только ч-з 4 (ну, то есть, если я со смещениями не промахнулся и london-TZ с UTC сильно не перепутал, да) часа ""эти же"" 9 утра наступят в этих ваших лондонах (Гринвич, если моя тройка по географии не врёт, там ж где-т). То есть, когда в Москве [было] 9 утра, в Лондоне до 9 -- ещё 4 часа (типа, 5). Итого: MSK == GMT + 4.

Гм! Не алё....

Попытка №2: http://www.opennet.me/man.shtml?topic=timezone&category=3&ru...

>>>

     std offset

The std string specifies the name of the timezone and must be three or more alphabetic characters. The offset string immediately follows std and specifies the time value to be added to the local time to get Coordinated Universal Time (UTC). The offset is positive if the local timezone is west of the Prime Meridian and negative if it is east.
>>>

Ну, то есть: 1. так надо; 2. MSK-4.

PS: Сам вижу :) , MSK==GMT+4 >> MSK-4 == GMT...
PSS: Это два раза в год обсуждают? В LOR-FAQ-е уже есть? Или уже %) и не надо?


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено Sot , 31-Окт-11 18:21 
Странно как-то. На серверах с PHP 5.3 все нормально. А на 5.2 такие ф-ции, как date(), strftime() отдают время с отставанием на час. Пересборка PHP не помогла...

"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено Anonym , 31-Окт-11 18:41 
> Странно как-то. На серверах с PHP 5.3 все нормально. А на 5.2
> такие ф-ции, как date(), strftime() отдают время с отставанием на час.
> Пересборка PHP не помогла...

в php.ini поправите date.timezone =


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено Sot , 31-Окт-11 18:43 
> в php.ini поправите date.timezone =

Все там правильно. date.timezone = Europe/Moscow
Если убрать, ничего не меняется. Только если намеренно поставить Asia/Tbilisi (что не правильно), тогда все норм.


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено Andrey Mitrofanov , 31-Окт-11 18:50 
> Странно как-то. На серверах с PHP 5.3 все нормально. А на 5.2
> такие ф-ции, как date(), strftime() отдают время с отставанием на час.
> Пересборка PHP не помогла...

На серверах, где "неправильно", обновить пакет tomezone (или аналогичный) -- до "правильной" версии.

Или -- руками http://www.opennet.me/tips/2630_linux_timezone_time.shtml ...


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено Andrey Mitrofanov , 31-Окт-11 18:52 
>обновить пакет tomezone (или аналогичный)

"пакет tzdata", исправленному верить :/


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено Sot , 31-Окт-11 19:40 
>>обновить пакет tomezone (или аналогичный)
> "пакет tzdata", исправленному верить :/

zoneinfo-2011.m свежее нету. Или имелось ввиду что-то другое?

ЗЫ. FreeBSD 8.0


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено Andrey Mitrofanov 01 , 31-Окт-11 21:07 
> zoneinfo-2011.m свежее нету. Или имелось ввиду что-то другое?
> ЗЫ. FreeBSD 8.0

http://www.opennet.me/tips/2630_linux_timezone_time.shtml#12 ??!


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено Sot , 31-Окт-11 21:56 
>> zoneinfo-2011.m свежее нету. Или имелось ввиду что-то другое?
>> ЗЫ. FreeBSD 8.0
> http://www.opennet.me/tips/2630_linux_timezone_time.shtml#12 ??!

Все обновлено. В системе все в порядке. date в консоле отдает правильное время.
# zdump -v /etc/localtime |grep 2011
/etc/localtime  Sat Mar 26 22:59:59 2011 UTC = Sun Mar 27 01:59:59 2011 MSK isdst=0 gmtoff=10800
/etc/localtime  Sat Mar 26 23:00:00 2011 UTC = Sun Mar 27 03:00:00 2011 MSK isdst=0 gmtoff=14400


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено Sot , 01-Ноя-11 19:38 
> Все обновлено. В системе все в порядке. date в консоле отдает правильное
> время.
> # zdump -v /etc/localtime |grep 2011
> /etc/localtime  Sat Mar 26 22:59:59 2011 UTC = Sun Mar 27
> 01:59:59 2011 MSK isdst=0 gmtoff=10800
> /etc/localtime  Sat Mar 26 23:00:00 2011 UTC = Sun Mar 27
> 03:00:00 2011 MSK isdst=0 gmtoff=14400

Вообщем, пришлось в ускоренном порядке переходить на PHP 5.3.
Одна бессонная ночь, зато теперь все норм.


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено Дядя_Федор , 03-Ноя-11 09:16 
> Вообщем, пришлось в ускоренном порядке переходить на PHP 5.3.
> Одна бессонная ночь, зато теперь все норм.

Cтранно. У меня форум работает на phpBB2+php 5.2.17. Вроде время правильно кажет. Сегодня проверю на всяк случай. Вариант перехода на 5.3, к сожалению, не прокатит. Там еще обвязка в виде личных кабинетов юзверей крутится (деланная не мной) - на 5.3 пробовал - глюки вылазят, разбираться в причинах не было времени.


"Перевод времени: GMT-4 - почему МИНУС, а не плюс?"
Отправлено Дядя_Федор , 03-Ноя-11 16:31 
Офигенно! Возился с час с аналогичной проблемой. Тожена час раньше казал. Системное время - нормальное. Выставка в php.ini не помогла. На 5.3 обновиться не могу - проблемы выше описаны (не мои проблемы, замечу). Победил идиотским методом - выставил date.timezone=Asia/Dubai. Честно говоря, больше похоже на бред. PHP же свои зоны из системных берет?


"Ещё о ... в PHP"
Отправлено Andrey Mitrofanov , 03-Ноя-11 19:57 
> бред. PHP же свои зоны из системных берет?

Где как. Патченый в Дебиане, говорят - да, во fbsd, вроде, нет...

Из лесу вестимо:::
   google://PHP перевод часов 2011
      http://blog.lexa.ru/2011/10/30/pro_perevod_chasov_php_i_drup...


"Ещё о ... в PHP"
Отправлено Дядя_Федор , 03-Ноя-11 20:36 
Мои личные извинения автору. Продолжил эксперименты в PHP с зонами. Как-то Дубаи меня не впечатлило. Выставил EST/GMT+4 (что логично было с моей точки зрения). А хрена там - время показалось совсем невменяемое. Тогда поменял на то самое GMT-4! Бинго, твою мать! :-() ПОказало наше, московское время. Мужики, я не вчитывался, что вы тут писали (что вроде правильно) - но я посыпаю голову пеплом и приношу извинения перед автором вопроса - был неправ..... Казус осознаю....


"Windows 7 некорректно обновляется с ntp"
Отправлено azamat_ufa , 02-Ноя-11 11:43 
Привет всем!

на линуксе (debian) обновил tzdata
теперь время кажет правильно

proxy:/home/aza# date
Wed Nov  2 13:40:00 YEKT 2011


proxy:/home/aza# zdump -v /etc/localtime |grep -i 201
/etc/localtime  Sat Mar 27 20:59:59 2010 UTC = Sun Mar 28 01:59:59 2010 YEKT isdst=0 gmtoff=18000
/etc/localtime  Sat Mar 27 21:00:00 2010 UTC = Sun Mar 28 03:00:00 2010 YEKST isdst=1 gmtoff=21600
/etc/localtime  Sat Oct 30 20:59:59 2010 UTC = Sun Oct 31 02:59:59 2010 YEKST isdst=1 gmtoff=21600
/etc/localtime  Sat Oct 30 21:00:00 2010 UTC = Sun Oct 31 02:00:00 2010 YEKT isdst=0 gmtoff=18000
/etc/localtime  Sat Mar 26 20:59:59 2011 UTC = Sun Mar 27 01:59:59 2011 YEKT isdst=0 gmtoff=18000
/etc/localtime  Sat Mar 26 21:00:00 2011 UTC = Sun Mar 27 03:00:00 2011 YEKT isdst=0 gmtoff=21600

но windows 7, настроенный на этот ntp, обновляется и ставит время на час позже (игнорирует указ президента))

где грабли а?
спасибо!  


"Windows 7 некорректно обновляется с ntp"
Отправлено Andrey Mitrofanov , 02-Ноя-11 12:26 
> но windows 7, настроенный на этот ntp, обновляется и ставит время на
> час позже (игнорирует указ президента))

На XP это чинится снятием галочки

     [ ] Автоматический переход на летнее время и обратно

В 7ке оно, конечно же, называется совершенно по-другому.


":/"
Отправлено Andrey Mitrofanov , 02-Ноя-11 16:55 
>> но windows 7, настроенный на этот ntp, обновляется и ставит время на
>> час позже (игнорирует указ президента))
> На XP это чинится снятием галочки

Блин, говорила мама, не касайся афтопика... :/ А теперь правильный ответ: посавить WindowsXP-SP3-KB2570791-x86-RUS.exe или соответствующий для 7ки~~~

[ontopic] И тут снова проблема: xpsp3 c KB2570791 в kvm-е под libvirt-ом, на хосте tzdata правильно обновлён, в Настройках машины > Смещение времени = localtime. Установил этот KB, перезагрузил -- в vm +1час. :/ Включил-выключил vm -- +1час. 8-( О! Выключил vm, перезапустил libvirt (debian# invoke-rc.d libvirt-bin restart). Та-да-а, время срослось.

---А Вы спрашиваете, зачем виртуализация!?... <:-)