Node.js Mongoose是否将存储的UTC日期转换为本地时间?

Node.js Mongoose是否将存储的UTC日期转换为本地时间?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我想知道这是否正常,或者在模式设置或查询过程中是否遗漏了某些内容: 我的应用程序和mongoose在mongodb中正确地将日期存储为UTC。通过mongo shell查看文档可以确认这一点。当我通过mongoose从mongodb检索文档时,日期现在是当地时间 有没有办法让mongoose在查询时将日期保持为UTC?时间戳不受时区限制地存储为unix时间戳。此时间戳将跨时区工作,节点使用当前时区对其进行解释。您可以使用get-UTC*方法从日期对象检索UTC值,例如get-GetChours(

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

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


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

时间戳不受时区限制地存储为unix时间戳。此时间戳将跨时区工作,节点使用当前时区对其进行解释。您可以使用get-UTC*方法从日期对象检索UTC值,例如get-GetChours()

Mongoose和node.js对日期没有任何影响,只是JavaScript
date
类型在调用
toString()
时生成本地时间字符串,即使它实际上包含UTC时间


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

感谢您的响应,我知道我可以将其转换为UTC并从那里使用。我只是觉得有点奇怪,mongoose和/或node会自动将它带入本地时间。也许更好的问题是:我是否可以明确地告诉node使用UTC。。。与PHP或其他语言中的date\u default\u timezone\u set函数类似?@DM您是使用UTC还是本地时间将内容放入mongoose?您可以使用process.env.TZ更改节点的时区,但不建议这样做。明白了。在以几种不同的方式记录查询结果之后,我发现显示本地时间日期的是console.log,因此它可能会调用toString()。很高兴知道未来。。。谢谢你的回复。