1
我對RoR比較陌生,並且遇到了時區轉換問題。從數據庫中獲取數據(存儲在美國中部時間)時,它認爲那裏的時間以UTC爲單位,並嘗試轉換它們,因此使它們在5小時內錯誤。我在我的application.rb文件中有:Rails 3.1時區UTC和中心時區混淆
config.time_zone = 'Central Time (US & Canada)'
config.active_record.default_timezone = 'Central Time (US & Canada)'
如果我刪除了其中一個配置指令,則時間不能正確保存。只要我有他們,時間正確地存儲在數據庫中,但RoR無法正確讀取它們。爲了解決這個問題,我必須將從數據庫獲得的所有時間都轉換爲UTC。我必須相信有更好的方法。
我也嘗試設置ENV ['TZ'],但那似乎沒有做任何事情。
ENV['TZ'] = "US/Central"
任何幫助都會被處理。
謝謝!
你有沒有機會做* sane *的事情,並改變數據庫本身的數據,所以它都是UTC?將數據全部存儲在一個特定的(非UTC)時區是需要麻煩的 - 而且由於DST轉換,它也會丟失信息。 –
不幸的是,設計決策不在我的手中。對於這個項目,我被告知時間必須存儲在美國中部時間。 – user1485753
你的意思是在中部時間,對吧?不是CST,它總是*標準*時間。 –