1
我在我的消息表中有一個名爲「Archived」的列和一個按鈕,當它按下時,會將當前時間和日期寫入db列。現在我可以把它寫出來,但它在錯誤的時區。網上通緝後,我創建了目前保存在下面的代碼,而不是在正確的時區:DateTime.now未在Rails中設置時區
控制器代碼
def archive_message
@message = Message.find(params[:id])
@message.archived = DateTime.now.in_time_zone "Central Time (US & Canada)"
@message.save
redirect_to '/messages'
end
我的路線(我相信因爲是這是確定)
post 'messages/:id/archive_message' => 'Messages#archive_message', :as => 'archive_message'
任何建議,非常感謝。
您是否嘗試過使用zoneinfo ID,例如美國/芝加哥?僅用於診斷目的。 – 2013-05-03 19:29:31
我試過'code' @ message.archived = DateTime.now.in_time_zone「America/Chicago」 ,與 'code' @ message.archived = DateTime.now.in_time_zone「做了同樣的事情」Central Time(US&Canada )「 – lando2319 2013-05-03 19:36:44
有人發佈到 config.time_zone ='中央時間(美國和加拿大)' config.active_record.default_timezone =:本地 到我的application.rb文件。我將它添加到我的模塊代碼中,它似乎完全改變了日期和時間,現在它將時間顯示爲明天。 – lando2319 2013-05-03 20:05:48