Skip to content

Обновление временных зон 2014 года на Windows XP — финальный update

19.12.2014

Последнее обновление: перейти

Информация для тех, кто обновлял временные зоны на Windows XP и пользовался этой инструкцией: как вы помните, статья содержала указание на второе обновление, выход которого ожидался в декабре, и которое обязательно следовало установить до 7 января 2015 года. Соответствующее накопительное обновление временных зон (kb3013410) было выпущено Microsoft для всех поддерживаемых операционных систем. Файлов обновления для Windows XP нет в списке, поскольку операционная система больше не поддерживается. Поэтому воспользуйтесь альтернативным обновлением, по своему действию похожим на то, какие изменения вносит обновление kb3013410 в других операционных системах. Именно это обновление следует применять для корректной настройки временных зон на Windows XP без обновлений, например, сразу после установки. Его можно загрузить в виде архива по этой ссылке.

Обновление состоит из командного файла tzupdatexp.cmd, не претерпевшего никаких изменений, и нового файла реестра RTZ.reg. Файл реестра содержит изменения российских временных зон, вносимых обновлением kb3013410, но в отличие от данного обновления, не содержит изменений по другим регионам. Впрочем, при желании их несложно добавить.

Для применения обновления поместите оба файла из архива в какую-либо папку, сделайте папку текущей и запустите без параметров

tzupdatexp.cmd

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

tzupdatexp.cmd «Russian Standard Time»

Данный командный файл удобно использовать для автоматизации обновления на компьютерах в организации, например, с помощью групповых политик. Напомню, что командный файл отрабатывает только на Windows XP.

После обновления (без указания параметра) не изменяется ни часовой пояс, ни наименование временной зоны, однако флажок Автоматический переход на летнее время и обратно, ранее доступный на закладке Часовой пояс в свойствах даты и времени, исчезает.

tzupdate64

Как и в предыдущем случае, перезагрузка после обновления не требуется.

Не могу не упомянуть о других способах избежать перехода на «летнее» время, однако они предполагают, что в свое время было установлено обновление из предыдущей инструкции. В одном случае достаточно через графический интерфейс сбросить флажок Автоматический переход на летнее время и обратно, либо выполнить то же самое через реестр. Есть еще один любопытный способ, а именно запуск утилиты tzchange.exe с недокументированным ключом /w:

tzchange.exe /w 2015

Здесь придется либо объяснять много, либо ничего. При отсутствии перехода на летнее/зимнее время нас это вряд ли будет интересовать в будущем. Однако отвечу хотя бы на вопрос «Как это было?».

Информация о датах перехода на летнее/зимнее время (или отсутствии такого перехода) хранится в двоичном параметре реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\<имя временной зоны>\TZI (аббревиатура от Time Zone Information). Содержащиеся в нем сведения недоступны для понимания человеком при непосредственном чтении, но их можно легко просмотреть, например, с помощью Time Zone Editor. На основании значения данного параметра операционная система знает, когда переводить часы на час вперед и на час назад. Здесь нет каких либо особенностей, начиная со времен Windows NT.

Однако в мировой практике достаточно часто встречается ситуация, когда в той или иной стране порядок исчисления поясного времени изменяется. Как адаптировать операционную систему, если правила изменяются год от года? Россия в этом отношении показательный пример, но не единственный. В Windows историческая информация о правилах перехода на летнее и зимнее время сохраняется в отдельном ключе реестра Dynamic DST, который располагается внутри ключа временной зоны.

tzupdate_22

Информация по каждому году записывается в ключе с параметром, соответствующим порядковому номеру года, как показано на скриншоте, а значение каждого параметра совпадает по структуре со значением параметра TZI, о котором речь шла выше. Сохраняются данные как за прошедшие годы, так и за будущие. Современные операционные системы умеют работать с Dynamic DST, применяя для каждого года соответствующие правила перехода на летнее/зимнее время.

Windows XP и Windows Server 2003 поддерживают Dynamic DST лишь частично. Как и более новые операционные системы, они хранят в реестре историческую информацию о порядке исчисления времени для временных зон, но не используют ее по прямому назначению. И только в приложениях .Net Framework 3.5 можно воспользоваться классом System.TimeZoneInfo , полноценно поддерживающим Dynamic DST.

Однако при выполнении недокументированной инструкции tzchange.exe /w <год>   происходит следующее. Историческая информация о правилах перехода на летнее/зимнее время, соответствующая выбранному году, копируется в основной параметр HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\<имя временной зоны>\TZI , иными словами, правила перевода часов для выбранного года назначаются в качестве действующих. Поскольку после установки обновления kb2998527 исторические правила присутствуют в реестре, в том числе для 2015 года, запуск описанной выше утилиты приведет к применению правил исчисления времени 2015 года (т.е. без перевода часов). Эти же правила останутся действовать и в будущем.

Следует отметить, что хотя описанные изменения и выглядят более простыми, они не приведут к изменению вида закладки Time Zone в свойствах даты и времени, а именно в интерфейсе по-прежнему будет присутствовать флажок (снятый или установленный) Автоматический переход на летнее время и обратно.

Реклама

From → Windows XP

20 комментариев
  1. tzupdatexp.cmd «Russian Standard Time»

    живу в Екатеринбурге.

    Как правильно использовать то, что здесь описано?

    Russia Time Zone 4 (UTC+05:00) Ekaterinburg (RTZ 4) Ekaterinburg Standard Time (UTC+06:00) Ekaterinburg

    команду tzchange.exe /w 2015
    использовать после cmd-файла?

  2. нужны 2 действия?

    tzupdatexp.cmd «Ekaterinburg Standard Time»

    tzchange.exe /w 2015

  3. а можно ли сделать универсальное?

    1. считываем временную зону
    2. устанавливаем новые значения для этой временной зоны

    • Если не хотите изменять временную зону, запустите tzupdatexp.cmd без параметров.

      • в Екатеринбурге будет новое Екатеринбургское, а в Москве- новое Московское?

  4. для России?

    а где tzchange.exe ?

  5. где брать tzchange.exe для Windows XP?

    • tzchange.exe является штатной утилитой Windows XP и Windows Server 2003.

      Если текущая временная зона до обновления — UTC+3 RTZ2 или UTC+5 RTZ4, то при запуске tzupdatexp.cmd без параметров временная зона не изменится. Однако если временная зона — одна из старых, то все же лучше указать необходимую временную зону в качестве параметра.

      • спасибо, буду пробовать на старых компах

      • раньше в Екатеринбурге вроде была зона UTC+6. при запуске tzupdatexp.cmd без параметров какая будет?

  6. Если была старая зона Екатеринбург GMT+6, то при запуске tzupdatexp.cmd без параметров временная зона изменится на GMT+6 Новосибирск (RTZ 5), при этом показания системного времени не изменятся.

  7. Эльдар permalink

    Почему-то на утро все вернулось как было. В чем может быть проблема?

    • Напишите подробнее вашу последовательность действий (какое обновление или какие обновления были установлены, в какое время), и что произошло в итоге, чтобы можно было воспроизвести проблему.

  8. Степан permalink

    подскажите а актуально ли будет запустить этот файл реестра на windows 2003? дело в том что ближайшую неделю нет возможности перезагрузить сервер 2003 чтобы прошли обновления

    • Проблем не должно возникнуть, но поскольку я не тестировал именно такой сценарий, примите стандартные меры предосторожности: перед внесением изменений сделайте резервную копию раздела реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones .

  9. Алекс permalink

    Спасибо специалисту — тому кто всё это написал, сделал. Я просто скачал архив и «кликнул» на файл tzupdatexp.cmd и всё сразу обновилось как нужно.

Trackbacks & Pingbacks

  1. Обновление временных зон 2014 года на Windows XP | MCP-Клуб в Москве
  2. Обновления временных зон в России в 2016 году | MCP-Клуб в Москве
  3. KB3148851: обновления временных зон в России в 2016 году | MCP-Клуб в Москве

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: