Mongoid DateTime:什么是正确的日期?

时间:2013-01-27 11:26:42

标签: ruby mongodb mongoid

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

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

但是当我打印出这个值时,它会说:

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

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

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

我以前从未使用过红宝石。默认的Ruby日期对象应该能够及时处理偏移:

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

在某种程度上,它甚至会讨论如何开始操纵它我相信:

  

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

我确实认为mongoid已经为你转换了时间,正如iso日期中的T值可以看到的那样,提前7小时:

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

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

我认为mongoid最有可能打印偏移量,即使它被应用,因为那里的偏移量(因为时间比UTC的7小时偏离),它只是没有进一步应用。