0
我遇到查詢問題,因爲午夜轉換未按預期工作。使用日期和時間導航的arel表查詢
time = Date.today.midnight #=> Mon, 15 Jul 2013 00:00:00 BRT -03:00
time.class #=> ActiveSupport::TimeWithZone
condition = Task.arel_table[:scheduled_to].gt(time)
condition.to_sql #=> "`tasks`.`scheduled_to` > '2013-07-15 03:00:00'"
我期待生成的sql是
`tasks`.`scheduled_to` > '2013-07-15 00:00:00'"
我的時區是GMT -3。如果我更改時區,使其符合北京時間生成的SQL是
condition.to_sql #=> "`tasks`.`scheduled_to` > '2013-07-15 05:00:00'"
- 的Rails 4.0.0
- 紅寶石2.0.0p247
有沒有辦法忽略時區所以查詢的行爲像預期的那樣?
可能的結果:http://api.rubyonrails.org/classes/ActiveSupport/TimeWithZone.html#method-i-utc –