考虑使用JavaScript创建的以下日期对象。
var date = new Date("2017-09-07T16:46:06.000Z");
此日期对象应相当于2017年9月7日下午4:46:06
但是,在浏览器控制台中,当我键入以下内容时:
console.log(date);
返回以下内容:
Fri Sep 08 2017 02:46:06 GMT + 1000(E. Australia Standard Time)
时机不对。 (它实际上是今天的日期,但时间是完全错误的。)
困惑的关键点:
答案 0 :(得分:6)
创建日期时,您 指定时区。最后Z
表示 Zulu 或格林威治标准时间。您的计算机距格林威治标准时间10小时,因此它会根据您当地的时区进行调整。
如果您希望日期位于当地时区,请移除Z
答案 1 :(得分:1)
var date = new Date("2017-09-07T16:46:06.000Z");
所以看起来日期字符串末尾的Z
代表UTC或Zulu时间
var date = new Date("2017-09-07T16:46:06.000");
应该是正确的解决方案