我发生了一件奇怪的事情,我希望有人可以指出我所缺少的东西。
在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();
答案 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 。