我部署了一個Rails應用程序,但我在created_at列上弄錯了時間。時區或時間衝突
我去rails控制檯製作並運行Time.now,我得到正確的時間。
我登錄到MySQL並運行SELECT NOW();我得到正確的時間。
但是,當一個新的記錄被創建到數據庫中時,我知道它大約早上5點,實際上是凌晨1點左右。
任何人都會遇到類似的事情嗎?你怎麼修好它的?
我部署了一個Rails應用程序,但我在created_at列上弄錯了時間。時區或時間衝突
我去rails控制檯製作並運行Time.now,我得到正確的時間。
我登錄到MySQL並運行SELECT NOW();我得到正確的時間。
但是,當一個新的記錄被創建到數據庫中時,我知道它大約早上5點,實際上是凌晨1點左右。
任何人都會遇到類似的事情嗎?你怎麼修好它的?
問題是,您的應用程序中沒有設置默認時區。
你可以做你的environment.rb(梁2)或application.rb中(Rails 3中)的文件,你可以設置默認的時區是這樣的:
config.time_zone = 'Central Time (US & Canada)'
參考:http://databasically.com/2010/10/22/what-time-is-it-or-handling-timezones-in-rails/
並使用Time.zone.now不Time.now ... – emrahbasman
難道你添加時區到你的application.rb? – emrahbasman
也許這會有所幫助:[Ruby on Rails:當我給DB寫入時間時爲什麼會得到時區,然後再讀回?](http://stackoverflow.com/questions/319527/ruby-on-rails-爲什麼這樣做 - 我得到 - 時區 - 當我寫時 - 到 - 分貝 - 然後) – rdvdijk