【发布时间】:2015-04-13 20:24:04
【问题描述】:
所以我想知道 javascript 函数 Date() 最近是否针对 Firefox 甚至其他浏览器进行了更改。
起初我会得到这样的日期输出:Mon Apr 13 2015 22:18:08 GMT+0200 (West-Europa (zomertijd))
但现在它输出的是这样的:2015-04-13T20:15:18.322Z
我有一个脚本,它依赖于第一种格式,所以在我的代码没有任何变化的情况下它崩溃了。这就是为什么我开始调查并发现这是问题所在。
我想知道这是怎么回事。 (我不是要格式化解决方案,只是想知道为什么会这样格式化)
更新 1:认为添加我测试的浏览器的版本号可能会很有用(所有结果都相同)。
- Firefox 开发者版本:39.0a2 (2015-04-07)
- 冰鼠 31.4.0
- 火狐 37.0.1
更新 2:代码示例:
new Date();
-- output -- Date 2015-04-13T20:57:39.622Z
原来这是UTC 或Zulu time 格式。所以现在的问题是:为什么它输出 UTC 日期,而它以前没有这样做。
【问题讨论】:
-
语言规范至少在这方面没有改变。但是,没有指定使用的确切格式。这只是一个“String representing the current time (UTC)”。
-
可能测试过的计算机的区域设置?
-
@BramDriesen 控制台将有自己的行为来显示对象。这不能保证在浏览器之间保持一致。尝试指定如何将其转换为字符串 --
new Date().toString()、new Date().toISOString()等。 -
@BramDriesen 默认格式主要由实现决定,因此随时可以修改。如果您需要结果保持一致,请使用提供特定格式的方法——例如
toISOString(). -
只有开发 Firefox 或 Mozilla 的其他产品的开发人员才能回答您的问题,但我希望这与在 Date 原型中添加
toJSON()有关。输出的值与您在控制台中看到的值相同。
标签: javascript date firefox iceweasel