1

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

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

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

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

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

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())
4

2 回答 2

2

您可以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)
于 2019-09-11T06:30:18.690 回答
1

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

您可以通过new Date().toISOString()在 chrome 中查看与 node 相同的输出来验证这一点,并同时检查new Date().getTime()chrome 和 node 以查看它们是否相同

于 2019-09-11T06:15:06.303 回答