Mongoose将存储的UTC日期转换为当地时间?

时间:2013-07-11 14:58:08

标签: node.js mongodb mongoose

我想知道这是否正常,或者我是否在架构设置或查询过程中遗漏了某些内容:

我的应用程序和mongoose正确地将日期存储为mongodb中的UTC。通过mongo shell查看文档可以确认这一点。当我通过mongoose从mongodb检索文件时,日期现在是当地时间。

有没有办法让mongoose在查询时将日期保持为UTC?

2 个答案:

答案 0 :(得分:7)

Mongoose和node.js没有对你的日期做任何事情,只是JavaScript Date类型在你调用toString()时产生一个本地时间字符串,即使它实际上包含了时间在UTC。

如果您需要UTC时间字符串,请在toUTCString()对象上显式调用Date

答案 1 :(得分:1)

时间戳以非固定方式存储在时区中,作为unix时间戳。此时间戳将跨时区工作,节点使用您当前的时区对其进行解释。您可以使用getUTC *方法从日期对象中检索UTC值,例如get getUTCHours()