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