Node.js和MongoDB时区问题未被驱动程序正确转换UTC?

时间:2014-10-01 20:55:26

标签: node.js mongodb timezone mongodb-query

我发生了一件奇怪的事情,我希望有人可以指出我所缺少的东西。

在MongoDB中,我有一个类型为Date

的字段DT

MongoDB中日期的示例是2014-10-01 10:28:04.329-04:00

当我使用MongoClient从Node.js查询MongoDB时,Node.js返回此信息:

2014-10-01T14:28:04.329Z

据我了解,驱动程序假设将UTC转换为本地时间。在我的情况下,它应该是东部时间(EDT)。为什么Node会增加4个小时呢?

我使用Java驱动程序从Java将日期加载到MongoDB中。变量使用

设置
new Date();

1 个答案:

答案 0 :(得分:4)

节点未添加4小时。两者都表现出完全相同的瞬间。

2014-10-01 10:28:04.329-04:00

完全相同
2014-10-01T14:28:04.329Z

只有一个在EDT时区,其中-04:00偏移到UTC(所以它早于四小时),另一个是UTC。

可能您在EDT中配置了服务器,并且您的客户端设置为UTC或反之亦然。

除非你需要完全相同的字符串,否则我不担心。

或者,更好的是,将客户端和服务器计算机设置为相同的时区,最好是UTC