Arel时间转换?

时间:2011-11-10 14:41:46

标签: ruby-on-rails timezone arel

Time.now  => 11月10日星期四 15 :33:48 +0100 2011

Contract.where(“date_end> =?”,Time.now) => [..] WHERE(date_end> ='2011-11-10 14 :33:59')ORDER BY date_start ASC

你怎么解释arel不使用相同的时区(一小时或者差异)?

在我的申请中.rb
config.time_zone ='巴黎'

...但是无论我设置什么('UTC'等等)

谢谢!

1 个答案:

答案 0 :(得分:0)

因为Arel不知道您的rails应用程序中的config.time_zone设置。 Arel只关心和处理生成SQL字符串。

你的例子与Arel无关,而是与Rails无关。正如评论中所指出的,我怀疑你的数据库被设置为UTC,因此rails会将你的Time.now转换为UTC,因为保存在数据库中的所有DateTime都存储在UTC中