我在Firefox(版本21)的控制台中运行了以下内容,我得到了我不期望的结果。
new Date(1362891600000);
var date = new Date(1362891600000);
var time = date.getHours();
new Date(date.setHours(date.getHours() + 24));
结果真的让我想到了一个循环。
第一个日期显示为东部夏令时,而第二个日期显示为东部标准时间。这完全倒退了。 IE或Chrome不会发生这种情况。
这里发生了什么?
答案 0 :(得分:5)
这绝对是Firefox中的一个错误。您应该向他们报告。
但是,请注意,偏移后的任何内容都是非标准的,并且支持在浏览器和操作系统之间存在很大差异。
例如,某些浏览器显示时区名称,而其他浏览器显示缩写或内部ID。此外,一些保留自己的字符串,一些使用操作系统返回的值。在Windows上,有一个与Linux或Mac不同的时区数据库。此外,某些浏览器可能使用语言,区域设置或区域设置来本地化此字符串。
如果您知道该值位于各自的本地时区,则可以将其显示给用户。但是,不要依赖它来做任何重要事情。