Книга: 1001 совет по обустройству компьютера
12.7.1. Отмена перехода на зимнее время
12.7.1. Отмена перехода на зимнее время
Как известно, в России с 2011 года отменен перевод стрелок часов на летнее время и обратно, и устанавливается единое время на весь год. 27 марта 2011 года в большинстве регионов стрелки были переведены на летнее время, и осенью обратного перевода уже не предполагается. Фактически это означает, что в охваченных реформой регионах часовой пояс сдвинулся на час вперед – для Москвы и Питера это переход из GMT+3 в пояс GMT+4. В некоторых регионах перевода стрелок в марте не было, но вопрос для них остается тот же самый – как корректно внести изменения в операционную систему, чтобы не затронуть другие региональные установки?
Это не такой однозначный вопрос, как кажется. Можно просто сменить часовой пояс на следующий к востоку (например, GMT+3 на CMT+4), не трогая региональные особенности. Но это ненадежное решение – кто знает, какие особенности вылезут из-за смены местоположения? Для Windows Vista и Windows 7 Microsoft выпустила специальный пакет обновлений, автоматически устраняющий проблему. Но, во-первых, далеко не все пользователи рискуют устанавливать автоматические обновления, во-вторых, для Windows XP таких пакетов и не обещают (Microsoft в момент написания этих строк еще только планирует разместить в своей базе знаний статью с описанием процедуры ручной коррекции Windows XP)[23]. Но и там вы не найдете прямого ответа на вопрос: как правильно поступить, если у вас установлены две операционные системы параллельно, и каждая стремится внести свои изменения?
Отсчет времени в ПК
Системное время компьютера измеряется на аппаратном уровне – компонентами на материнской плате, а операционная система только пользуется результатами их работы. Когда компьютер выключен, в нем идут самые обычные электронные часы с календарем на батарейке – ничем не отличающиеся от наручных или настольных, только, естественно, без цифрового дисплея. Такие часы называют еще RTC, Real Time Clock (часы реального времени) – иногда можно встретить название CMOS-часы. При включении компьютера время ОС синхронизируется с RTC и затем отсчитывается уже операционной системой в довольно сложном формате. Разрешающая способность системных часов невелика: хотя формально время в ПК можно отсчитывать с точностью до 0,1 миллисекунды (т. е. 10-4 секунды), на практике показания времени отсчитываются значительно реже, обновляя системное время примерно 18 раз в секунду. Из-за этой особенности, а также из-за непредсказуемого времени переключения между одновременно выполняющимися программами, точный отсчет малых промежутков времени в Windows очень затруднен.
Естественно, любые часы рано или поздно «уходят», потому их надо периодически подводить – синхронизировать. Проще всего это делать автоматически – через специальные службы времени в Интернете. Есть много сторонних программ для этой цели, позволяющих выбирать различные службы, но во все версии Windows встроена такая программа, которая не хуже любой другой. Чтобы добраться до нее, щелкните по часам в области уведомлений и перейдите на вкладку Время по Интернету. На рис. 12.8 показана эта вкладка для Windows XP, в остальных там почему-то будет почти пусто, а получить то же самое, что на рис. 12.8, можно, если щелкнуть по кнопке Изменить параметры. Попробуйте синхронизировать время, щелкнув по кнопке Обновить сейчас. Если ничего не получается, проверьте на всякий случай соединение с Интернетом или смените сервер времени из выпадающего списка (по моему опыту time.nist.gov работает лучше, чем time.windows.com). В остальное время синхронизация работает автоматически по расписанию, и нужды что-то менять там нет.
Рис. 12.8. Вкладка Время Интернета часов Windows XP
Далее я описываю корректную процедуру отмены перехода с зимнего на летнее время – она потребуется для всех систем, выпущенных до 2011 года. Для тех немногих регионов, где перевода на летнее время в марте 2011 года не было (т. е. для них оставлен текущий часовой пояс, и единое время теперь будет равно бывшему зимнему), достаточно лишь убрать отметку в пункте Переход на летнее время и обратно. Чтобы его разыскать, нужно щелкнуть по часам в панели уведомлений, в Windows XP перейти на вкладку Часовой пояс (рис. 12.9), а в других системах – щелкнуть на кнопке Изменить часовой пояс.
Рис. 12.9. Вкладка Часовой пояс часов Windows XP
Но в большинстве российских регионов, где перевод стрелок в марте 2011 года произошел и больше не предполагается (в том числе в Москве и Питере), этого простого действия недостаточно. Для начала, после такой отмены автоматического перехода летом время на часах сдвинется на час назад (компьютер просто перейдет на зимнее время, он-то не знает, что обратный перевод уже отменили). Вы можете попробовать откорректировать время вручную, но оно опять сдвинется при первой же синхронизации времени через Интернет – неважно, через службу времени Windows или сторонними программами. Тем более внесет путаницу наличие двух установленных систем, каждая из которых при запуске и коррекции через Интернет захочет установить время по-своему.
Для того чтобы избавиться от этого наваждения, придется внести изменения в параметры реестра, отвечающие за часовой пояс. К счастью, во всех 32-разрядных системах Windows, включая даже Windows 98, это делается одинаково, и особых проблем не представляет. Рецепт, приведенный далее, годится для регионов пояса GMT+3 (Москва, Питер, Волгоград). Для других регионов, где 27 марта 2011 года время было также переведено на час вперед, и больше перевода не предполагается, действия те же самые, только шестнадцатеричные значения будут другими (их можно подсчитать прямо в шестнадцатеричной форме с помощью калькулятора Windows, переведя его в форму Инженерный).
Последовательность действий такова:
1. Отмените автоматический Переход на летнее время и обратно, как описано ранее (см. рис. 12.9). При этом не корректируйте часы вручную, если они «уйдут» на час.
2. Запустите редактор реестра, набрав regedit в командной строке. Разыщите там ветку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTimeZoneInformation.
3. Найдите параметр Bias – он обозначает смещение текущего часового пояса в довольно запутанном шестнадцатеричном формате, и в Windows, выпущенной до введения нового времени, будет равен ffffff4c (или, в десятичном виде, 4294967116). Расшифровывается это просто – чтобы представить такое шестнадцатеричное число (со знаком) в привычном десятичном виде, нужно из него вычесть максимальное число диапазона ffffffff (или 4294967296). Получим число -180, что и было смещением часового пояса в минутах до опубликования указа президента Медведева. Его надо изменить на значение -4 часа, т. е. сделать равным -240, в шестнадцатеричной форме это будет выглядеть так: ffffff10 (4294967056). То есть ваша задача – щелкнуть правой кнопкой на параметре Bias, выбрать Изменить и изменить последние два знака (4с) на 10. Больше тут ничего делать не надо.
4. Перезагрузите компьютер и убедитесь, что время у вас стало правильное. При синхронизации через Интернет значение часов тоже теперь не должно меняться. Можете зайти снова в реестр (редактор запоминает ветку, где вы находились последний раз) и убедиться, что другие параметры в той же ветке автоматически откорректированы, хотя это уже и не имеет большого значения: это ActiveTimeBias (смещение летнего времени), которое стало равным Bias, DayTimeBias (разница между летним и зимним) – стало равным нулю и StandartBias (разница между Bias и ActiveTimeBias для зимнего времени) также равно нулю.
5. Проделайте все то же самое для всех установленных на компьютере операционных систем, если их больше одной. Не исключено, что в процессе этих установок время будет сбиваться при переходе между системами, и придется окончательно его корректировать вручную (или синхронизацией через Интернет). Но эту коррекцию придется сделать только один раз, потом все установится.
- Пошаговые инструкции для перехода на 3-й диалект
- Улучшенное время отклика для версии SuperServer
- Часы в Windows показывают неправильное время
- Асинхронный сервер и отмена выполняющихся запросов
- Глава 7. Дата и время
- Глава 18 Время
- 1.4.1. Кодирование во время выполнения
- Время и дата
- Время
- Не допускайте того, чтобы поток пользовательского интерфейса блокировался на длительное время
- Время показывается в 12-часовом формате, а мне привычнее 24-часовой. Как это изменить?
- Когда я не работаю за компьютером, через некоторое время он отключается. Можно ли это исправить?