1
我有一個查詢命中我的數據庫,它返回一列日期。此查詢的輸出看起來像這樣在PSQL:Ruby on Rails 4.0時區混亂,Postgres
查詢:
SELECT (by_event.event_date AT TIME ZONE 'UTC')::DATE as event_date from events as by_event;
輸出:
event_date
------------
2012-11-15
2012-11-16
2012-11-17
我跑我的SQL查詢Rails中有這樣的:
results = ActiveRecord::Base.connection.execute(sql)
results.each do |result|
puts result.inspect
end
這不幸打印出來:
[{\"event_date\"=>\"2012-11-16\"}, {...}]
所有的日期都比他們應該提前一天!
顯然這是與時區有關的,但我不知道如何解決它。我如何讓Rails停止衝擊日期?
'config/application.rb'檢查'config.time_zone'設置爲什麼。如果未設置,請將其設置爲所需的時區,並且事情應該沒問題。 –
我曾嘗試調用'Time.zone =「EST」'和'Time.zone =「UTC」',結果沒有任何變化。就在運行查詢之前。 – iTake