我在 MongoDB shell 中生成一个日期:
var d = new Date();
d
但日期结果与我所在位置的时间不符
但是,javascript中的相同代码,console.log(d)
可以在我的位置输出正确的时间
为什么?如何在 MongoDB 中生成本地时间?
我在 MongoDB shell 中生成一个日期:
var d = new Date();
d
但日期结果与我所在位置的时间不符
但是,javascript中的相同代码,console.log(d)
可以在我的位置输出正确的时间
为什么?如何在 MongoDB 中生成本地时间?
这将为您提供时区(您应该将其单独存储在应用程序中)。
var myDate = new Date();
document.write(myDate.getTimezoneOffset());
默认情况下,MongoDB(包括控制台)将始终以 UTC 生成和存储,但是ISODate
s 确实支持时区偏移(http://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC)但是您需要管理它的创建从您的应用程序偏移。
正如@CRUSADER 所提到的,通常最好将用户偏移存储在行内,甚至根本不存储,特别是如果您的用户可以从具有许多不同时区的许多位置访问。在这种情况下,实际上可能会更好地修改客户端 JavaScript 中的日期,以处理他们当前访问页面的时区差异。