Javascript, похоже, использует часовые пояса назад с Firefox

Я запустил следующее в консоли в Firefox (версия 21), и я получаю результаты, которых я не ожидаю.

new Date(1362891600000);

var date = new Date(1362891600000);
var time = date.getHours();
new Date(date.setHours(date.getHours() + 24));

Результат действительно бросает меня на цикл.

Первая дата отображается как восточное дневное время, а второе - с восточным стандартным временем. Это полностью назад. Это не происходит с IE или с Chrome.

Что здесь происходит? enter image description here

Ответы

Ответ 1

Это, безусловно, ошибка в Firefox. Вероятно, вам следует сообщить об этом им.

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

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

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