我正在使用 Mongoid 来存储 DateTime。但现在我对真正的日期感到困惑。在 mongodb 中,日期存储为:
{"2013-01-14T12:50:00.000Z"}
但是当我打印该值时,它会说:
2013-01-14T19:50:00+07:00
我真的不明白这些日期格式是否相同,在我当前的时区中哪一个是“正确的”?
谢谢您的帮助。
日期存储在 GMT 中,当“打印”时,它显示在您当地的时区(GMT+7?)
默认的 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 小时),它只是没有进一步应用。