如何解析JS Date在所有浏览器中保持一致

时间:2015-09-11 15:13:50

标签: javascript google-chrome firefox safari cross-browser

我暂时搁在一个问题上并且无法解决问题。

问题:

我有这个日期字符串:2015-08-25T08:00:00Z

我正在尝试将此String解析为JS Date:var date = new Date( date_string );

如果我记录下来:
- Chrome:Tue Aug 25 2015 10:00:00 GMT+0200 (CEST)
- Safari:Tue Aug 25 2015 10:00:00 GMT+0200 (CEST)
- Firefox:Date 2015-08-25T08:00:00.000Z (为什么Firefox显示的时间与其他浏览器不同?)

但我希望他们都能显示我解析的日期 另一件事是:我不希望字符串受时区影响。 结果应该是在所有浏览器中的日期与字符串的日期。

还试图用moment.js进行解析,但即使这样也无法解决我的问题。

谢谢!

1 个答案:

答案 0 :(得分:1)

我自己想出来了。

如果我记录下来:

console.log( date.getHours() );

所有浏览器的输出都相同。

如果有的话,摆脱时区的东西:

var date = new Date( date_string );
date = new Date( date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours() );  

但有人可以告诉我,为什么firefox会显示其他内容,然后是其他浏览器,即使它是同一个对象?