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

标签 javascript google-chrome firefox safari cross-browser

我现在被一个问题困扰了一段时间,无法解决。

问题:

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

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

如果我记录这个:
- Chrome:2015 年 8 月 25 日星期二 10:00:00 GMT+0200(中欧夏令时间)
- Safari:2015 年 8 月 25 日星期二 10:00:00 GMT+0200(中欧夏令时)
- Firefox:日期 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 显示的是其他内容,然后是其他浏览器,即使它是同一个对象?

关于javascript - 如何解析 JS Date 在所有浏览器中保持一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32526751/

相关文章:

javascript - 为什么 React-router v4 <Link/> 不起作用(更改 url 但不呈现内容)?

javascript - node.js - 如何进行简单的实时页面更新?

JavaScript 无法正确添加大数(但非常接近)

google-chrome - 通过命令行清除Chrome的缓存,Cookie等? (OSX)

html - 为什么我的页面在 Firefox 中不能完全查看,但在 Chrome 中却可以

javascript - 仅存在 ES6 setter/getter 就会导致不相关函数 (V8) 的性能下降

html - firefox css 选项样式不起作用

JavaScript 添加到书签在 FF >= 23.0 中不起作用

html 输入类型 ="date"在 chrome 上不能正常工作

javascript - 使用 Jquery 根据输入显示和隐藏元素