Даты Javascript, по-видимому, ссылаются на неверную дату начала / окончания летнего времени - PullRequest
3 голосов
/ 05 января 2012

Я почти уверен, что делаю что-то не так, но я максимально упростил свой пример и не могу не чувствовать, что дата начала / окончания перехода на летнее время в javascript для некоторых летпросто неправильно в моем часовом поясе.

Я в Тихоокеанском часовом поясе.Сейчас это стандартное тихоокеанское время.Когда я запускаю все даты в 1989 году, он говорит, что DST начинается:

Mon Mar 13 1989 00:00:00 GMT-0700 (Pacific Daylight Time)

и заканчивается:

Sun Nov 05 1989 00:00:00 GMT-0700 (Pacific Daylight Time)

Согласно всем источникам, которые я смог найти (включая Википедию)и timeanddate.com ), DST должен был начаться в воскресенье, 2 апреля 1989 года, и закончиться в воскресенье, 29 октября 1989 года.

Я добавил пример JSFiddle здесь:

http://jsfiddle.net/jzFgM/

Код груб, я знаю - просто пытаюсь привести конкретный пример.Вам может потребоваться быть в Тихоокеанском часовом поясе и в Windows 7, чтобы увидеть результаты.Это дает мне те же «неправильные» даты в Chrome, Firefox и IE9.

Почему я вижу эти результаты?Я предполагаю, что это простое недоразумение, но я не смог точно определить проблему.

1 Ответ

1 голос
/ 05 января 2012

Класс Date использует текущие значения DST, которые были приняты в соответствии с Законом об энергетической политике 2005 года . Смотрите здесь :

Законопроект вносит изменения в Закон о едином времени 1966 года, изменяя начало и даты окончания летнего времени, начиная с 2007 года. Установлены часы вперед на один час во второе воскресенье марта (11 марта 2007 г.) в первое воскресенье апреля (1 апреля 2007 г.). Часы были установлены обратно один час в первое воскресенье ноября (4 ноября 2007 г.) чем в последнее воскресенье октября (28 октября 2007 г.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...