尝试使用 new Date() 构造函数将日期字符串转换为 Date 对象时,行为可能会发生变化不同浏览器之间有所不同。在处理 UTC(协调世界时)日期字符串时,这一点尤其明显。
在提供的代码片段中:
var date = new Date('2013-02-27T17:00:00'); alert(date);
Chrome 将输入字符串解释为本地时间,并根据本地时间进行调整在浏览器的时区上。在本例中,它将时间解释为 2013 年 2 月 28 日当地时间凌晨 12:00。
另一方面,Firefox 会将字符串解析为 UTC 时间并相应地显示它。在本例中,它正确地将时间显示为 2013 年 2 月 27 日下午 5:00 (GMT 7:00)。
为了确保跨浏览器的行为一致,必须提供正确的 UTC 格式的日期字符串格式。 UTC 的标准化格式是 ISO 8601,其中包含一个“Z”后缀来指示 UTC 时间:
2013-02-27T17:00:00Z
通过在输入中附加“Z”字符串,您可以确保 Chrome 和 Firefox 都会将日期字符串解释为 UTC 时间,从而产生相同的输出:
var date = new Date('2013-02-27T17:00:00Z'); alert(date);
输出:
Wed Feb 27 2013 17:00 :00 GMT 0700(东南亚标准时间)
以上是为什么 Chrome 和 Firefox 中 `new Date()` 对 UTC 字符串的解释不同?的详细内容。更多信息请关注PHP中文网其他相关文章!