IE8 日期时间 JavaScript 差异

IE8 date time javascript difference

本文关键字:差异 JavaScript 时间 日期 IE8      更新时间:2023-09-26

在JSON中,我收到一个纪元时间戳,我正在尝试正确转换

var d = new Date(1398693600000);
  • Chrome、Firefox 等 = 2014 年 4 月 28 日星期一 15:00:00 GMT+0100 (BST)
  • IE8 = PDT 2014 年 4 月 28 日星期一 07:00:00
所以马上它就在不同的

时区。没有帮助。

使用时刻

moment(d).format();
  • 铬: 2014-04-28T15:00:00+01:00
  • IE8:2014-04-28T07:00:00-07:00

moment.utc(d).format();

    铬: 2014-04-28T14:00:00
  • +00:00
  • IE8:2014-04-28T14:00:00
  • +00:00

因此,使用 UTC 可以在浏览器上获得一致的时间,但这需要一个小时。请记住,我在格林威治标准时间,所以这将影响事情的发展。

这是MomentJS的问题吗?

那么,我需要做什么来对IE8进行排序? :)我毫不怀疑答案正直地盯着我的脸。

干杯

两个日期相同,只是字符串表示不同。例如,这些都是相同的确切时间:

new Date('Mon Apr 28 2014 15:00:00 GMT+0100 (BST)');
new Date('Mon Apr 28 07:00:00 PDT 2014');
new Date('2014-04-28T14:00:00+00:00');
new Date('Mon Apr 28 2014 10:00:00 GMT-0400 (EDT)');

因此,任何计算和显示都应该正确出来。现在,为什么您看到不同的时区似乎很奇怪,因为AFAIK,每个浏览器都只是使用您的系统时钟。

但是,你已评论说你正在使用虚拟机来测试 IE。该 VM 很可能设置了不同的时区,这就是您在 IE 中看到不同文本表示形式的原因。