我见过这个问题的各种版本,但没有一个能满足我的需求。

我想为 MongoDB 创建一个 ISODate,我正在使用 Node.js。

在 Node 中,当我这样做时:

console.log(Date());

我得到:



当我做:
console.log(new Date());

我得到:



我对做 ISODATE 的方式的理解是:
var isodate = new Date().toISOString()
console.log(isodate);

这产生了比“现在”提前 4 小时的时间。

我的系统日期是正确的。
我运行这台不同的机器,得到相同的结果。

有人可以解释为什么我会及时发现差异吗?

最佳答案

不同之处在于 2016-09-26T19:17:04.731Z 与 GMT0 时区相关,Mon Sep 26 2016 15:17:04 GMT-0400 (EDT) 与您本地的时区相关。两者都指向同一时间:)

您可以在 Wiki 中阅读有关数据格式和时区的更多信息

关于JavaScript - Date()、new Date() 和 ISODate 之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39710819/

10-10 12:43