Chrome 和 Firefox 之间的日期字符串转换差异
当尝试使用 new Date() 将日期字符串转换为 Date 对象时,用户Chrome 和 Firefox 之间可能会遇到不同的结果。这种差异源于两个浏览器如何解释表示 UTC(协调世界时)的日期字符串。
Firefox 与 Chrome 行为
在 Firefox 中,代码 var日期 = 新日期('2013-02-27T17:00:00');返回 2013 年 2 月 27 日星期三 17:00:00 GMT 0700(东南亚标准时间)。这是因为 Firefox 假定日期字符串为本地时间,并将其转换为浏览器的本地时区。
相反,Chrome 将日期字符串解释为 UTC 并返回 Thu Feb 28 2013 00:00:00 GMT 0700 (东南亚标准时间)。这是因为日期字符串缺少表示 UTC 时间的字母“Z”。
纠正问题
为了确保两个浏览器返回正确的 UTC 日期,日期字符串的格式必须正确。 UTC 的正确格式是 YYYY-MM-DDTHH:MM:SSZ。在这种情况下,需要附加 '2013-02-27T17:00:00' 末尾缺少的“Z”。
通过将代码修改为 var date = new Date('2013-02 -27T17:00:00Z');,Chrome 和 Firefox 都会返回预期的 UTC 日期和时间,即 2013 年 2 月 28 日星期四 00:00:00 GMT 0700(东南亚标准时间)。
以上是为什么 Chrome 和 Firefox 之间的日期字符串转换不同?的详细内容。更多信息请关注PHP中文网其他相关文章!