Поведение, которое вы описываете, соответствует ожиданиям. Смотрите этот сайт для подробного подтверждения . Вы также можете просмотреть описание здесь .
Поскольку DST заканчивается осенью, а часы движутся назад, мы называем это переходом «откат». Когда ваши часы приближаются к 2:00, вместо этого они возвращаются к 1:00. Местное время с 1:00:00 до 1: 59: 59,999 повторяется. Ко времени попадания в 2:00 уже повторяется второй случай 1:00 часа, и летнее время уже закончилось.
Мы используем метку EDT для восточного летнего времени, когда смещение происходит в UTC-04: 00, и метку EST для восточного стандартного времени, когда смещение происходит в UTC-05: 00. Так что нет, EDT и EST не одно и то же. Это делает вопрос , который один вы находитесь, особенно в 1:00 часа в день перехода.
Часы движутся так:
...
00:59:58 EDT (-0400)
00:59:59 EDT (-0400)
01:00:00 EDT (-0400) --+
01:00:01 EDT (-0400) |--- 1st instance of 1:00 hour
... |
01:59:59 EDT (-0400) --+
01:00:00 EST (-0500) --+ <---- transition
01:00:01 EST (-0500) |
... |--- 2nd instance of 1:00 hour
01:59:59 EST (-0500) --+
02:00:00 EST (-0500)
02:00:01 EST (-0500)
...
Также имейте в виду, что когда вы устанавливаете время в 1:00 по местному времени, вы недостаточно точны. Поскольку есть два экземпляра 1:00, ОС просто выберет один для вас. В Linux и Mac OSX базовые системные часы хранятся в UTC. 1:00 EDT в 5:00 UTC, а 1:00 EST в 6:00 UTC.
Перезагрузка вашей машины не должна иметь никакого эффекта. Я предполагаю, что вы не сразу перезапустили его, но дали время, чтобы оно снова переместилось назад.
Дополнительная информация
Взгляните на справочную страницу для date
команды . Мы можем установить часы по местному времени, используя несколько странный формат, [[[mm]dd]HH]MM[[cc]yy][.ss]
так что это 1:00 по местному времени в день перехода:
date 110301002013
Но это не очень специфично, поэтому ОС, вероятно, выбирает EDT, потому что это первый экземпляр. Это могло бы также выбрать EST, так как мы не указали.
Вместо этого рассмотрите возможность установки его по UTC:
date -u 110305002013 (1:00 EDT)
or
date -u 110306002013 (1:00 EST)
America/New_York
). И да, некоторые места просто остаются на EST и никогда не используют EDT (например, Каймановы острова). Ваше описание в основном точное. Различия просто семантические. Не уверен, что изменениеTZ
переменной поможет, хотя.