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



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

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

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

问题是在节点、vscode 还是其他地方?以及如何解决此问题,以便我的 vscode/node 控制台.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())

您可以在节点中执行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)

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

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

最新更新