サーチ…


備考

config.active_record.default_timezoneは、データベースから日付と時刻を取得するときに、Time.local(localに設定されている場合)またはTime.utc(utcに設定されている場合)を使用するかどうかを決定します。デフォルトはutcです。 http://guides.rubyonrails.org/configuring.html


Railsのタイムゾーンを変更したいが、 Active RecordをデータベースにUTCで保存し続けたい場合は、

# application.rb
config.time_zone = 'Eastern Time (US & Canada)'

あなたはRailsのタイムゾーンを変更し、このタイムゾーンでアクティブレコードストアの時間を持って、使用したい場合

# application.rb
config.time_zone = 'Eastern Time (US & Canada)'
config.active_record.default_timezone = :local

警告 :データベースにUTC以外の形式で時間を保存する前に、実際には2倍、さらには3倍と考えるべきです。

注意
application.rbを変更した後、Railsサーバーを再起動することを忘れないでください。


config.active_record.default_timezoneは2つの値しかconfig.active_record.default_timezoneできないことにconfig.active_record.default_timezoneください

  • :localconfig.time_zone定義されたタイムゾーンに変換)
  • :utc (UTCに変換)

使用可能なすべてのタイムゾーンを見つける方法は次のとおりです

rake time:zones:all

Railsのタイムゾーンを変更しますが、Active RecordをUTCでデータベースに保存し続けます

# application.rb
config.time_zone = 'Eastern Time (US & Canada)'

Railsのタイムゾーンを変更し、このタイムゾーンにActive Recordの保存時間を設定する

# application.rb
config.time_zone = 'Eastern Time (US & Canada)'
config.active_record.default_timezone = :local


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow