IE8日期时javascript的区别

时间:2014-04-03 13:28:41

标签: javascript date datetime internet-explorer-8 momentjs

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

var d = new Date(1398693600000);
  • Chrome,Firefox等= 2014年4月28日星期一15:00:00 GMT + 0100(BST)
  • IE8 = 2014年4月28日星期一07:00:00

所以马上就是在不同的时区。没用。

使用MomentJS

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

moment.utc(d).format();

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

因此,使用UTC可以在浏览器中获得一致的时间,但这只是一个小时的时间。请记住,我正在使用GMT,以便能够解决问题。

MomentJS有问题吗?

那么,我需要做些什么才能对IE8进行排序? :)毫无疑问,答案是直截了当地盯着我。

干杯

1 个答案:

答案 0 :(得分:2)

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

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中看到不同文本表示的原因。