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

Ruby Mongoid DateTime:什么是正确的日期?,ruby,mongodb,mongoid,Ruby,Mongodb,Mongoid,我正在使用Mongoid存储日期时间。但现在我把真正的约会搞混了。 在mongodb中,日期存储为: {"2013-01-14T12:50:00.000Z"} 但当我打印该值时,它会显示: 2013-01-14T19:50:00+07:00 我真的不明白这些日期格式是否相同,以及在我当前的时区中哪个是“正确的” 谢谢您的帮助。日期存储在GMT中,当“打印”时,它显示在您的本地时区(GMT+7?)日期存储在GMT中,当“打印”时,它显示在您的本地时区(GMT+7?)默认的Ruby Date对

我正在使用Mongoid存储日期时间。但现在我把真正的约会搞混了。 在mongodb中,日期存储为:

{"2013-01-14T12:50:00.000Z"} 
但当我打印该值时,它会显示:

2013-01-14T19:50:00+07:00
我真的不明白这些日期格式是否相同,以及在我当前的时区中哪个是“正确的”


谢谢您的帮助。

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

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

默认的Ruby Date对象应该能够处理时间偏移:

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

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

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

2013-01-14T19:50:00+07:00
如果你打印的是日期和/或时间,而不是包含偏移量的完整输出,我毫不怀疑你会得到真实的日期


我认为mongoid最有可能在应用偏移量时打印该偏移量,因为该偏移量存在(因为时间与UTC相差7小时),因此不会进一步应用该偏移量。

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

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

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

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

2013-01-14T19:50:00+07:00
如果你打印的是日期和/或时间,而不是包含偏移量的完整输出,我毫不怀疑你会得到真实的日期


我相信mongoid最有可能在应用时打印偏移量,因为偏移量在那里(因为时间与UTC相差7小时),所以它不会进一步应用。

噢,当我使用mongo ruby driver在IRB中进行测试时,我得到的值是2013-01-15 12:50:00 UTC你知道如何制作GMT-7吗,事实上,与我的正确值相比,mongoid的结果将持续7小时。我需要我的本地时区(GMT+7),但默认情况下,mongoid将我的日期时间存储为UTC?您知道如何配置Mongoid以使用我的本地时区吗?正如文档中所述,Mongo以UTC存储所有日期-哦,当我使用MongoRuby驱动程序在IRB中测试时,我得到的值是2013-01-15 12:50:00 UTC您知道如何设置GMT-7吗,事实上,与我的正确值相比,mongoid的结果将持续7小时。我需要我的本地时区(GMT+7),但默认情况下,mongoid将我的日期时间存储为UTC?您知道如何配置Mongoid以使用我的本地时区吗?正如文档中所述,Mongo将所有日期存储在UTC中-