VSCode Javascript - 获取准确的本地新 Date() 值

VSCode Javascript - get exact local new Date() value

目前我机器上的时间是07:55

如果我在 vscode 终端中 console.log(new Date()),那么我会得到错误的 05:55 时间。这是因为我的时区(南非)是+2。所以在 vscode / 节点中,我的 new Date() 显示的是世界时,而不是本地时间。

如果我 console.log(new Date()) 在 .html 文件中(如果我 运行 它在 Chrome 中)那么我得到 07:55 的正确时间。

问题出在节点,vscode还是其他地方?我该如何解决这个问题,以便我的 vscode/node console.log 是正确的时间。

console.log(new Date().getHours()) 确实给了我 7 的正确时间,但我不明白为什么 console.log(new Date()) 给了我错误的 2019-09-11T05:55:00.480Z[=25 时间=]

console.log(new Date().toLocaleString()) 确实给了我正确的时间,但我不想要那种格式。我只想要用于数据库用途的基本 new Date() 格式。

// 2019-09-11T05:55:00.480Z
console.log(new Date())    

// 9/11/2019, 7:55:00 AM
console.log(new Date().toLocaleString())

node默认打印ISO字符串,chrome打印调整后的时间。在这两种情况下,时间戳仍然相同。在数据库中的两种情况下,它将被保存为相同的。

您可以通过在 chrome 中执行 new Date().toISOString() 来验证这一点,以查看与节点相同的输出,并在 chrome 和节点中检查 new Date().getTime() 以查看它们都一样

您可以在节点中执行 new Date().toString() 以从 chrome

获取格式

节点:

console.log(new Date()); // 2019-09-11T06:25:01.665Z
console.log(new Date().toLocaleString()); // 9/11/2019, 1:25:01 PM
console.log(new Date().toString()); // Wed Sep 11 2019 13:25:01 GMT+0700 (GMT+07:00)