javascript - Javascript 中这些日期之间的区别?为什么并非所有浏览器都给出相同的结果?

标签 javascript utc

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/

相关文章:

javascript - 使用 Javascript 创建可重复的 HTML 表格

javascript - 资源加载失败 - 内部服务器错误

javascript - jquery中如何检查元素

c# - 用于 Web 应用程序的 C# 中的日期时间

java - 如何在没有 SimpleDateFormat 的情况下获取 UTC 时间?

javascript - javascript 函数 getUTCFullYear() 需要什么?

javascript - 数组推送时的本地存储错误

javascript - 将一组类似命名的属性设置为 false

java - GSON 默认日期序列化器是特定于语言环境的

datetime - 夏令时和时区最佳实践