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

Исходное сообщение
"Раздел полезных советов: Настройка перехода на зимнее время ..."

Отправлено auto_tips , 26-Окт-14 09:28 
В ночь с 25 на 26 октября в РФ будет осуществлён переход на постоянное зимнее время. Астрономический полдень сдвинется с 14 до 13 часов, темнеть в декабре будет в 4 часа дня, а светать в 9 утра, в июле темнеть будет в 10 вечера, а светать в 3 ночи. Для "сов" наступает настоящий кошмар :-)

Для систем, время поддержки которых не истекло  параметры перевода часов уже поступили с очередным обновлением. Для устаревших систем придётся обновлять данные часовых поясов вручную. Обновления содержимого базы данных часовых поясов можно получить с сайта ftp://ftp.iana.org/tz/releases/

Для ручного обновления базы часовых поясов загружаем свежую версию архива tzdata:

   mkdir tz
   cd tz
   wget ftp://ftp.iana.org/tz/releases/tzdata2014i.tar.gz

Распаковываем:
    
    tar xzf tzdata2014i.tar.gz

Смотрим . запланированы ли правила перевода часов:

    zdump -v Asia/Yekaterinburg |grep 2014
    
Если команда ничего не выдала, значит в системе установлена старая база часовых поясов и её нужно обновить.

Ищем нужный город в файлах asia или europe, географически положение может не совпадать, например,  Екатеринбург находится в Азии, но указан в файле europe.

Компилируем часовые пояса из файла europe. Утилита zic читает текстовый файл с описаниями зон и на выходе формирует бинарные файлы специального формата и сохраняет их в директорию /usr/share/zoneinfo (изменить директорию можно флагом "-d"):

    zic europe

Скомпилированные файлы параметров часовых поясов будут сохранены в файле /usr/share/zoneinfo/Asia/Yekaterinburg, который нужно скопировать в файл /etc/localtime, определяющий текущий часовой пояс:

   cp /etc/localtime /etc/localtime.old
   cp -f /usr/share/zoneinfo/Asia/Yekaterinburg /etc/localtime

После обновления в выводе zdump должно появиться правило перевода часов:

   zdump -v Asia/Yekaterinburg |grep 2014

   Asia/Yekaterinburg  Sat Oct 25 19:59:59 2014 UTC = Sun Oct 26 01:59:59 2014 YEKT isdst=0 gmtoff=21600
   Asia/Yekaterinburg  Sat Oct 25 20:00:00 2014 UTC = Sun Oct 26 01:00:00 2014 YEKT isdst=0 gmtoff=18000

При использовании PostgreSQL требуется не забыть обновить внутреннюю базу часовых поясов данной СУБД, которая расположена в директории /usr/local/pgsql/share/timezone. В PHP может использоваться собственная база часовых поясов, в этом случае требуется обновить пакет http://pecl.php.net/package/timezonedb


Дополнительно стоит обратить внимание на логику вычисления отрезков времени в биллинговых системах и прочих службах. С 2011 года, когда был отменён переход на зимнее/летнее время, успели появиться приложения, не учитывающие сдвиг на час, что чревато списанием/начислением лишнего часа и прочими неприятными эффектами, проявляющимися при запуске программ в "исчезнувший" час.


URL:
Обсуждается: http://www.opennet.me/tips/info/2861.shtml


Содержание

Сообщения в этом обсуждении
"Настройка перехода на зимнее время для устаревших систем"
Отправлено admin , 26-Окт-14 09:28 
> При использовании PostgreSQL требуется не забыть обновить внутреннюю базу
> часовых поясов данной СУБД, которая расположена в директории
> /usr/local/pgsql/share/timezone

Там внутри такой текст, так что решение неверное.
# NOTE:
#   This file is NOT loaded by the PostgreSQL database.  It just serves as
#   a template for timezones you could need.  See the `Date/Time Support'
#   appendix in the PostgreSQL documentation for more information.


"Настройка перехода на зимнее время для устаревших систем"
Отправлено Аноним , 26-Окт-14 10:21 
Такие примечания в текстовиках из share/timezonesets, это и есть шаблоны, которые нужно скомпилировать. Скомпилированные файлы лежат в share/timezone и вполне себе используются, по крайней мере в старых выпусках PostgreSQL.

"Настройка перехода на зимнее время для устаревших систем"
Отправлено AS , 27-Окт-14 10:55 
после service postgre92 restart он жрет обновл. tzdata !!

"Настройка перехода на зимнее время для устаревших систем"
Отправлено Andrey Mitrofanov , 27-Окт-14 11:25 
#>> лежат в share/timezone и вполне себе используются, по крайней мере в старых выпусках PostgreSQL.

> после service postgre92 restart он жрет обновл. tzdata !!

У постгресовского ./confifure есть ключ --with-system-tzdata=/usr/share/zoneinfo ("украдено" из пакетов PGDG для el6; см.также вывод pg_config своей сборки) . Причём по умолчанию, в отсутствие этого ключа, Pg _копирует в свой share/timezone текущий tzdata со сборочной машины.

Вы двое говорите о разных Pg, о разных бинарниках, собранных с разным значением (присутствием/отсутствием) этого ключа.


"Настройка перехода на зимнее время для устаревших систем"
Отправлено Аноним , 26-Окт-14 19:34 
java ещё, вроде, имеет свою tzdata

"Настройка перехода на зимнее время для устаревших систем"
Отправлено StainlessRat , 26-Окт-14 20:06 
Интересно, на оракле вчера скачивал тздата с индексом h, а здесь индекс i
Это прикол от iana или от oracle ?

"Настройка перехода на зимнее время для устаревших систем"
Отправлено fi , 30-Окт-14 19:50 
oracle отстал от iana :)


"Раздел полезных советов: Настройка перехода на зимнее время ..."
Отправлено KinderSurprise , 26-Окт-14 23:10 
> Для "сов" наступает настоящий кошмар :-)

Почему?


"Раздел полезных советов: Настройка перехода на зимнее время ..."
Отправлено Аноним , 27-Окт-14 08:26 
Темнеет на час раньше, придётся больше времени в темноте проводить.

"Раздел полезных советов: Настройка перехода на зимнее время ..."
Отправлено Michael Shigorin , 27-Окт-14 13:07 
Это как раз ерунда, главное -- когда вставать.

"Раздел полезных советов: Настройка перехода на зимнее время ..."
Отправлено Аноним , 27-Окт-14 14:48 
> Это как раз ерунда, главное -- когда вставать.

Ничего подобного, время окончания рабочего дня не сдвинулось, т.е. после окончания рабочего дня остаётся меньше светлого времени.



"Раздел полезных советов: Настройка перехода на зимнее время ..."
Отправлено Michael Shigorin , 27-Окт-14 17:18 
>> Это как раз ерунда, главное -- когда вставать.
> Ничего подобного, время окончания рабочего дня не сдвинулось,
> т.е. после окончания рабочего дня остаётся меньше светлого времени.

Для умеренной "совы" по московскому светлое время после рабочего вечера бывает разве что ближе к летнему солнцестоянию...


"Раздел полезных советов: Настройка перехода на зимнее время ..."
Отправлено count0krsk , 12-Дек-14 03:32 
И для Сибирских сов аналогично ;-)
Да это даже и лучше, алкашни меньше, можно погулять спокойно. Солнце глаза не засвечивает ))

"Раздел полезных советов: Настройка перехода на зимнее время ..."
Отправлено Guest , 24-Фев-15 11:33 
Сейчас наиболее близко к астрономическому солнечному времени. Разница около 30 мин. Так что для самочувствия лучше.

"Настройка перехода на зимнее время для устаревших систем"
Отправлено unscrubber , 27-Окт-14 05:49 
можно и просто выбрать GMT+[2..11]

"Настройка перехода на зимнее время для устаревших систем"
Отправлено Аноним , 27-Окт-14 08:35 
UTC+[2..11]

GMT это с переводом на летнее - зимнее


"Настройка перехода на зимнее время для устаревших систем"
Отправлено unscrubber3 , 27-Окт-14 10:32 
где ты видишь правило перехода на DST в выводе :
zdump -v /usr/share/zoneinfo/Etc/GMT+3
нет там перевода, не вводи в заблуждение (linux/freebsd tested)

"Настройка перехода на зимнее время для устаревших систем"
Отправлено fi , 30-Окт-14 19:51 
> можно и просто выбрать GMT+[2..11]

ага, только в Москве и Питере GMT-3  :))


"Настройка перехода на зимнее время для устаревших систем"
Отправлено Аноним , 05-Ноя-14 11:36 
Quwait - +3
Abu Dhabi - +4

У арабов нет перевода часов, поэтому можно на них всегда рассчитывать. :)


"Раздел полезных советов: Настройка перехода на зимнее время ..."
Отправлено Andrey Mitrofanov , 27-Окт-14 14:34 
> В PHP может использоваться собственная база часовых поясов, в этом случае требуется обновить пакет http://pecl.php.net/package/timezonedb

+ http://www.opennet.me/openforum/vsluhforumID8/7918.html


"Настройка перехода на зимнее время для устаревших систем"
Отправлено Гость , 29-Окт-14 13:43 
Люди, какой диагноз-то?
Нам через пол-года снова этой чехардой заниматься с многомиллиардными ущербами, или эта ересь раз и навсегда врезалась в нашу жизнь?

"Настройка перехода на зимнее время для устаревших систем"
Отправлено kurokaze , 30-Окт-14 02:21 
Отриньте гос маразм, по крайней мере на то недолгое время что он ещё будет. Живите по UTC и конвертируйте где нужно

"Настройка перехода на зимнее время для устаревших систем"
Отправлено имя , 03-Ноя-14 07:24 
> Живите по UTC

UNIX timestamp и так в UTC

> конвертируйте где нужно

И для чего тогда, по-вашему, придумали timezone db? Или вам плевать, какие смещения были в прошлом, «показываем как хотим»?


"Настройка перехода на зимнее время для устаревших систем"
Отправлено Stranger , 04-Ноя-14 08:02 
Спасибо!

"Настройка перехода на зимнее время для устаревших систем"
Отправлено iZEN , 10-Ноя-14 12:13 
На неподдерживаемой Windows XP для Москвы можно поставить часовой пояс "GMT+3" тех государств, в городах которых всегда трезвое правительство - Кувейт, Эр-Рияд, Багдад.

"Настройка перехода на зимнее время для устаревших систем"
Отправлено дмитрий , 11-Ноя-14 00:02 
рият те еще адекваты, у них в 80-х был вообще свой по солнцу +6,777 минут сдвиг от ЖМТ-сетки

"Настройка перехода на зимнее время для устаревших систем"
Отправлено Конь Педальный , 08-Дек-14 15:40 
/etc/localtime тупо скопировать с одно сервака где всё стало на другой. Это конечно не кашерно - но работает, хавается допотомными серваками 10 летней давности.  Хочется больше экшона поменять таймзон на Багдад, время не перереводится, часовой пояс совпадает.

"Настройка перехода на зимнее время для устаревших систем"
Отправлено count0krsk , 12-Дек-14 03:36 
> /etc/localtime тупо скопировать с одно сервака где всё стало на другой. Это
> конечно не кашерно - но работает, хавается допотомными серваками 10 летней
> давности.  Хочется больше экшона поменять таймзон на Багдад, время не
> перереводится, часовой пояс совпадает.

Когда в виндах Красноярского времени не было, ставили "Бангкок, Джакарта, Ханой", как сейчас помню )))