0

我有一个报价模型。当我从命令行访问它时,它以以下格式显示:

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_fromvalid_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返回为时区调整的小时?

4

1 回答 1

0

您在 config/application.rb 中使用的是什么时区?Rails 将打印日期调整为此文件中设置的时区。

于 2013-04-15T16:05:21.837 回答