var dt = new Date("2012-04-23T12:00:00");
var dtz = new Date("2012-04-23T12:00:00Z");
如果 Z 存在,我会得到不同的时间。
当 Z 存在时,它会将日期转换为浏览器的本地时间,而当 Z 不存在时,假设它已经是本地时间?
我在 FF 中得到的结果与 Chrome 中不同。 Chrome 总是给我相同的时间。 FF 将它们视为不同的。我应该如何处理来自服务器的 UTC 日期?
最佳答案
“Z”是 military time zone对应于 UT(又名 UTC、又名 GMT)。所以基本上,“nnn Z”的意思是“当格林威治的‘nnn’时,在你的时区现在有多晚”。例如,我在 CEST这是 GMT+2 所以这个
new Date("2012-04-23T12:00:00Z")
我的返回:
Mon Apr 23 2012 14:00:00 GMT+0200 (CEST)
对于带有 TZ 说明符的日期,它们在 Firefox(假定本地 TZ)和 Chrome(假定 UTC)中的处理方式似乎有所不同。为了安全起见,我建议始终使用显式 TZ 说明符。
关于javascript - Javascript 中这些日期之间的区别?为什么并非所有浏览器都给出相同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10303031/