2016-06-15 24 views
0

我在我的rails應用程序中使用了Time.new方法來獲取當前日期,並且我想將此日期存儲到類型爲datetime的變量中。我正在使用postgresql。現在,如果我使用pgAdminIII手動將此格式的日期插入到表中,它工作正常,但如果我嘗試通過控制器代碼將時間插入表中,則它將不同的日期時間存儲到表中。無法在數據庫中存儲時間

例如,假定當前時間爲: -

2016年6月15日17時29分29秒

如果我手動通過複製網頁這條線,然後插入此日期和時間到表它工作正常。

但我的控制器代碼,將其存儲到表中插入其他類似

2016年6月15日11時41分39秒

注:我只用Time.new(時間區域不在我的代碼中指定)

+1

Rails的門店日期時間轉換爲UTC在數據庫中。所以我在這裏沒有看到問題。 – spickermann

+0

分享一些代碼,你想看到最終結果。 – 7urkm3n

+0

請在application.rb中檢查您的時區 config.time_zone ='您的時區'。時間值是在您指定時區時存儲在數據庫中的。 –

回答

0

這只是活動記錄使用utc作爲時區。 如果你想活動記錄到你的時間存儲在首選時區,在這裏改變

# application.rb 
config.time_zone = 'Eastern Time (US & Canada)' //insert your time zone here 
config.active_record.default_timezone = :local 

參考:How to change default timezone for Active Record in Rails?