2012-03-15 14 views
0

データベースに保存するのに適切な時間が問題になっています。私がpostgresでSELECT NOW()を実行すると、EDTで適切な時間が得られます。私がTime.nowをRubyコンソールで実行すると、正しい時刻も得られます。私はTime.nowから取得したものを手動でコピー/ペーストし、psqlを介してデータベースに保存することもできます。問題は、コードで時間を節約しようとすると、時間が3〜4時間先にジャンプすることです。Ruby on RailsでPostgresデータベースに時間を保存する

誰かがTime.nowまたはSELECT NOW()から取得したものを正確に見る必要がある場合は、私に知らせてください。

私は見落としているものがあると確信していますが、私はそれを理解できません!私はこれがPostgresとRuby on Railsをセットアップする人々にとって共通の問題かもしれないと思います。助けてくれてありがとう。

+0

に以下を追加することで、デフォルトのActiveRecordのタイムゾーンを変更できますか? – swasheck

+0

Time.zone.nowには何がありますか? – Robin

+0

木曜日、2012年3月15日22:34:30 UTC +00:00それは私の問題だと思う –

答えて

1

デフォルトでは、すべての時間はGMT + 00:00タイムゾーンでデータベースに保存されます。タイムゾーンに応じて時間を計算しながらオフセットを設定する必要があります。そうでなければ、あなたが捕獲しようとしている何時間application.rb

config.time_zone = 'Your time zone' (Example: 'Eastern Time (US & Canada)') 
config.active_record.default_timezone = 'Your time zone' (Example: 'Eastern Time (US & Canada)') 
関連する問題