【发布时间】:2014-03-03 16:04:17
【问题描述】:
在浏览器的 JavaScript 控制台中考虑以下两个 sn-ps(我已尝试使用 Google Chrome)
第一个陈述:
s = "2014-03-03 18:30:00";
d = new Date(s);
// Mon Mar 03 2014 18:30:00 GMT+0100 (CET)
第二条语句:
s = "2014-03-03T18:30:00";
d = new Date(s);
// Mon Mar 03 2014 19:30:00 GMT+0100 (CET)
看到了吗?解析的日期和时间对我来说相差一小时,因为我住在 UTC+1。
但是为什么 JavaScript Date 对象会以不同的方式解析这两个字符串,因为根本没有给出时区?
【问题讨论】:
-
第一个解析为当地时间,第二个解析为UTC。当您在第二个示例中使用
T时,这意味着您正在指定时间和时区。由于您不给它一个时区,它假定它为0(UTC)。
标签: javascript parsing datetime timezone iso8601