26 октября 2014 года будет исправлен мегакосяк наноповелителя времени. В 2 часа ночи стрелки часов будут переведены на час назад.
То есть, в России наконец-то установится нормальное для широт зимнее время, и это отлично.

В связи с этим для всех операционных систем рассылаются обновления справочника временных зон, чтобы часы продолжали нормально работать.
Вот только печаль-беда, пользователи Windows XP и 2003 (коих всё ещё богато) в пролёте, ведь к ним с апреля не приходят обновления.

Исправляем ситуацию

Вот неофициальное обновление для Windows XP и 2003:

KB_FCKMS_TZ2014_XP.reg

Использовать на свой страх и риск: скачать, запустить и разрешить слияние с реестром.

Пока — только для зоны "Волгоград, Москва, Санкт-Петербург". Список зон может дополняться по мере необходимости, в том числе и рабочими вариантами, присланными в комментариях.

Содержимое файла

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Russian Standard Time]
"Display"="(UTC+03:00) Волгоград, Москва, Санкт-Петербург"
"Dlt"="Московское время (лето)"
"Std"="Московское время (зима)"
"TZI"=hex:4c,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,00,00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Russian Standard Time\Dynamic DST]
"2013"=hex:10,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2014"=hex:4c,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,00,00,00,00,00,00,00,00,01,00,03,00,01,00,00,00,00,00,00,00,00,00
"2015"=hex:4c,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"FirstEntry"=dword:000007dd
"LastEntry"=dword:000007df

Самое главное здесь — это длинные бинарные строки. Именно они задают текущие зоны и переводы стрелок. Представляют собой вот такую структуру:

typedef struct _REG_TZI_FORMAT
{
    LONG Bias;
    LONG StandardBias;
    LONG DaylightBias;
    SYSTEMTIME StandardDate;
    SYSTEMTIME DaylightDate;
} REG_TZI_FORMAT;

Вобщем, чёрт голову сломит, без поллитра не разобраться (кому надо — ищите в МСДН-е по ключевым словам).
Поэтому нужные значения проще всего взять из обновляемого дистрибутива виндов.

Остальное просто:
TZI — это действующие значения.
Display — название временной зоны.
Std и Dlt — соответственно названия до и после перевода стрелок.
2013, ... — состояние времени для каждого года.
FirstEntry и LastEntry — первый и последний год в описаниях, которые надо принимать в расчёт; в шестнадцатиричном виде.



imen
2014.10.24 15:40:05
#cid89842

Ответить

26 октября 2014 года будет исправлен мегакосяк наноповелителя времени.

Уверен в размерности? Не «кило» и не «гига», а именно «мега»? ☺

В 2 часа ночи стрелки часов будут переведены на час назад.

В human-readable формате:

# zdump -v /etc/localtime | tail -n 4
/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
/etc/localtime Mon Jan 18 03:14:07 2038 UTC = Mon Jan 18 07:14:07 2038 MSK isdst=0 gmtoff=14400
/etc/localtime Tue Jan 19 03:14:07 2038 UTC = Tue Jan 19 07:14:07 2038 MSK isdst=0 gmtoff=14400

То есть, в России наконец-то установится нормальное для широт зимнее время, и это отлично.

Для принципиальных критиков «этой страны» данное событие поставляет очередной повод для выражения недовольства.

В связи с этим для всех операционных систем рассылаются обновления справочника временных зон, чтобы часы продолжали нормально работать.

Неосторожно обращаешься с квантором всеобщности. Далеко не для всех.
Но дело в том, что _нормальные_ операционные системы:
Во-первых, умеют работать с привязкой системного времени к Гринвичу. Что в ХРени ЕМНИП заявлялось, но Предание не рекомендовало использовать фичу (примерно так же, как и 64-разрядную версию, но то другая история).
Во-вторых: предоставляют пользователю возможность самостоятельного редактирования временной зоны (лично я с этим сценарием не играл).

Вот только печаль-беда, пользователи Windows XP и 2003 (коих всё ещё богато) в пролёте, ведь к ним с апреля не приходят обновления.

А вот решение проблемы в стиле идейного пользователя самой распространённой ОС. Буквально сего дня прилетело в почту:

Вместо Москвы можно будет выбрать Найроби, у них будет значение времени, соответствующее часовому поясу Москвы после 26 октября, +3 часа.

Вот неофициальное обновление для Windows XP и 2003:

KB_FCKMS_TZ2014_XP.reg

Использовать на свой страх и риск: скачать, запустить и разрешить слияние с реестром.

Пропущен важнейший пункт, долженствующий быть вторым: проверить манифест скачанного файла (идейные пользователи самой распространённой ОС должны в полной мере наслаждаться издержками своего выбора).

2014.10.25 12:46:37
#cid89844

Ответить

#cid89842, imen

26 октября 2014 года будет исправлен мегакосяк наноповелителя времени.

Уверен в размерности? Не «кило» и не «гига», а именно «мега»? ☺

Уверен в размерности «нано»!

А вот решение проблемы в стиле идейного пользователя самой распространённой ОС. Буквально сего дня прилетело в почту:

Вместо Москвы можно будет выбрать Найроби, у них будет значение времени, соответствующее часовому поясу Москвы после 26 октября, +3 часа.

АХ-ХА-ХА-ХА!!!