2016-06-15 20 views
0

私は現在の日付を取得するために私のレールアプリケーションでTime.newメソッドを使用しましたが、この日付をdatetime型の変数に格納します。私はpostgresqlを使用しています。今私は手動でテーブルにpgAdminIIIを使用してこのフォーマットの日付を挿入する場合、それはうまくいきますが、コントローラのコードを介してテーブルに時間を挿入しようとすると、テーブルに異なる日付時間を格納しています。データベースに時刻を格納できません

2016年6月15日午後05時29分29秒

そして私は、Webページからこの行をコピーして、手動でテーブルにこの日付と時刻を挿入した場合 - :例えば

は、現在の時間があるとしそれは正常に動作しています。私はTime.newを使用している(時間領域がありません:テーブルにそれを格納するための

しかし、私のコントローラのコードは

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

のような他の何か注意を挿入しています私のコードで指定されています)

+1

Railsの店がdatetime型のデータベースに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?

関連する問題