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

我有一个奇怪的事情发生,我希望有人能指出我失踪。

在MongoDB中,我有一个types为Date的字段DT

2014-10-01 10:28:04.329-04:00 MongoDB中date的例子

当我使用MongoClient从Node.js中查询MongoDB时,Node.js返回这个:

 2014-10-01T14:28:04.329Z 

据我所知,驱动程序是假设将UTC转换为当地时间。 就我而言,应该是东部时间(EDT)。 为什么Node会添加4个小时呢?

我使用Java驱动程序从Java将date加载到MongoDB中。 该variables是使用设置的

 new Date(); 

节点不添加4小时。 两者显示完全相同的瞬间。

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

是完全一样的

 2014-10-01T14:28:04.329Z 

只有一个在EDT时区,与UTC有-04:00偏移(所以在那之前是四个小时),另一个是UTC。

可能你有你的服务器在EDTconfiguration,你的客户端设置为UTC或其他方式。

除非你需要完全相同的string,我不会担心。

或者,甚至更好的是,将客户机和服务器机器设置为同一时区, 最好是UTC