Rails5 でタイムゾーンを設定する
Ruby Ruby on Rails
Published: 2019-05-06

やったこと

Rails5 で、タイムゾーンを設定する方法を調べます。

確認環境

$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]

$ rails --version
Rails 5.2.3

調査

変更前の確認

午前1時ごろ確認しました。 UTC の時間になっています。

irb(main):000:0> Time.zone.now
=> Wed, 01 May 2019 16:13:32 UTC +00:00

config.time_zone の更新

config/application.rb

config.time_zone = 'Tokyo'

変更後の確認

irb は立ち上げ直します。

irb(main):000:0> Time.zone.now
=> Thu, 02 May 2019 01:17:25 JST +09:00

見てみると、JST になっています。

おまけ

config.active_record.default_timezone も設定しておいた方が良いかもしれないです。

DBに読み書きする時刻に影響する

Railsのデフォルトでは:utc

参考