如何解析 JS Date 在所有浏览器中保持一致
How parse JS Date to be consistent in all browsers
我在一个问题上挂了一段时间,想不出来。
问题:
我有这个日期字符串:2015-08-25T08:00:00Z
我正在尝试将此字符串解析为 JS 日期:var date = new Date( date_string );
如果我记录这个:
- Chrome: Tue Aug 25 2015 10:00:00 GMT+0200 (CEST)
- 野生动物园: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 显示其他内容,然后是其他浏览器,即使是同一个对象?
我在一个问题上挂了一段时间,想不出来。
问题:
我有这个日期字符串:2015-08-25T08:00:00Z
我正在尝试将此字符串解析为 JS 日期:var date = new Date( date_string );
如果我记录这个:
- Chrome: Tue Aug 25 2015 10:00:00 GMT+0200 (CEST)
- 野生动物园: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 显示其他内容,然后是其他浏览器,即使是同一个对象?