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