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. Кроме того, некоторые браузеры могут локализовать эту строку, используя настройки языка, локали или культуры.
Вы можете отобразить его пользователю, если вы знаете, что значение находится в его местном часовом поясе. Но не надейтесь на это для чего-то критического.