1

我在 MongoDB shell 中生成一个日期:

var d = new Date();
d

但日期结果与我所在位置的时间不符

但是,javascript中的相同代码,console.log(d)可以在我的位置输出正确的时间

为什么?如何在 MongoDB 中生成本地时间?

4

2 回答 2

1

这将为您提供时区(您应该将其单独存储在应用程序中)。

var myDate = new Date();
document.write(myDate.getTimezoneOffset());
于 2013-01-04T05:19:24.553 回答
0

默认情况下,MongoDB(包括控制台)将始终以 UTC 生成和存储,但是ISODates 确实支持时区偏移(http://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC)但是您需要管理它的创建从您的应用程序偏移。

正如@CRUSADER 所提到的,通常最好将用户偏移存储在行内,甚至根本不存储,特别是如果您的用户可以从具有许多不同时区的许多位置访问。在这种情况下,实际上可能会更好地修改客户端 JavaScript 中的日期,以处理他们当前访问页面的时区差异。

于 2013-01-04T08:29:41.223 回答