0

我正在使用 Mongoid 来存储 DateTime。但现在我对真正的日期感到困惑。在 mongodb 中,日期存储为:

{"2013-01-14T12:50:00.000Z"} 

但是当我打印该值时,它会说:

2013-01-14T19:50:00+07:00

我真的不明白这些日期格式是否相同,在我当前的时区中哪一个是“正确的”?

谢谢您的帮助。

4

2 回答 2

2

日期存储在 GMT 中,当“打印”时,它显示在您当地的时区(GMT+7?)

于 2013-01-27T11:31:58.457 回答
1

默认的 Ruby 日期对象应该能够及时处理偏移量:

http://ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/Date.html

在页面下方的某个地方,它甚至谈到了如何开始操纵它,我相信:

可选参数 offset 表示本地时间和 UTC 之间的差异。

我确实相信 mongoid 已经在为您转换时间,T从 iso 日期内的值提前 7 小时可以看出:

2013-01-14T19:50:00+07:00

仅当您要打印日期和/或时间而不是包含偏移量的完整输出时,我毫不怀疑您将获得真实日期。

我相信即使应用了偏移量,mongoid 也很可能会打印偏移量,因为该偏移量存在(因为时间从 UTC 偏移了 7 小时),它只是没有进一步应用。

于 2013-01-27T12:52:52.593 回答