为什么Javascript会向我显示错误的日期?

cle*_*aul 0 javascript date object

考虑以下在JavaScript中创建的日期对象.

var date = new Date("2017-09-07T16:46:06.000Z");
Run Code Online (Sandbox Code Playgroud)

此日期对象应相当于2017年9月7日下午4:46:06

但是,在浏览器控制台中,当我键入以下内容时:

console.log(date);
Run Code Online (Sandbox Code Playgroud)

返回以下内容:

周五09年8月8日02:46:06 GMT + 1000(澳大利亚标准时间)

时机不对.(它实际上是今天的日期,但时间是完全错误的).

困惑的关键点:

  • 我的电脑时区设置为GMT + 1000(澳大利亚/布里斯班)
  • 当我创建日期对象时,我没有指定时区,因此它应该符合我的系统时区
  • 当我将日期对象记录到控制台时,它仍然使用GMT + 1000(澳大利亚/布里斯班),但日期不同

小智 6

创建日期时,您确实指定了时区.这Z在结束意味着祖鲁语或格林威治标准时间.您的电脑距格林威治标准时间10小时,因此可根据您当地的时区进行调整.

如果您希望日期位于当地时区,请删除 Z