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

How parse JS Date to be consistent in all browsers

本文关键字:浏览器 保持一致 何解析 JS Date      更新时间:2023-09-26

我有一个问题纠结了一会儿,想不出来。

问题:

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

我正试图将此字符串解析为JS日期:var date = new Date( date_string );

如果我记录这个:
-铬: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解析,但即使这样也没有解决我的问题。

谢谢! !

我自己刚弄明白。

如果我记录这个:

console.log( date.getHours() );

所有浏览器的输出都是一样的。

去掉时区的东西:

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

但是有人能告诉我,为什么firefox显示别的东西,然后其他浏览器,即使它是相同的对象?