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.

Что тут происходит?

1 ответ

Решение

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

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

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

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

Другие вопросы по тегам