0
我有一个报价模型。并且当我在命令行访问它,它被显示在以下格式:Rails,如何在正确的时区获取日期时间的小时?
1.9.3p392 :058 > o = Offer.last
=> #<Offer id: 15, title: "Testing", valid_from: "2013-04-12 09:00:00", valid_until: "2013-04-12 14:00:00", created_at: "2013-04-12 18:31:54", updated_at: "2013-04-12 18:31:54">
在此输出,valid_from
和valid_until
被格式化为我期望的那样。然而,当我直接访问它们,我得到不同的东西:
1.9.3p392 :059 > o.valid_from
=> Fri, 12 Apr 2013 05:00:00 EDT -04:00
问题带有这个功能我有app/models/offer_model.rb
内:
def start_hour
self.valid_from.strftime('%l').to_i unless self.valid_from.nil?
end
当我运行此命令,与上述模型,输出是5
。在这种情况下,我预计它会返回9
。在这种情况下,我怎样才能让start_hour
返回时区调整的小时数?
'config.time_zone ='东部时间(美国和加拿大)'< - 从我的配置文件 – GSto
所以这就是它 - [时区](http://www.timeanddate.com/library/abbreviations/timezones /na/edt.html)尝试将您的time_zone更改为UTC(或仅仅评论此线路,因为默认的一次是UTC)。 – konole