【Rails】タイムゾーンの設定

2023/12/27に公開

created_atメソッドやupdated_atメソッドを使って時間を表示させた際に日本時間から9時間差の表記になってしまいなんだこれ?ということでタイムゾーンについて調べました。

タイムゾーンとは?

タイムゾーンとは、世界中の異なる地域や都市での時間の差を表現するための仕組みです。
たとえば、東京の現地時間とニューヨークの現地時間は異なります。日本では日本標準時(JST)を使用し、アメリカ東部では東部標準時(EST)を使用します。それぞれの地域での現地時間を正確に表現するために、タイムゾーンの情報を使用します。

タイムゾーンの設定

時間がズレている原因

今回時間がズレていた理由としては、Ruby on Railsのデフォルトでは、"UTC"(協定世界時)に設定されているため日本時間と9時間差があったようです。

日本時間の設定方法

タイムゾーンの設定方法は、config/application.rbファイル内の以下の行で行います。

config/application.rb
config.time_zone = 'Tokyo'

この例では、東京のタイムゾーンを設定しています。

タイムゾーンを設定すると、アプリケーション内の日付と時刻は、設定されたタイムゾーンに基づいて表示されます。また、Railsのデータベースに保存される日付と時刻も、タイムゾーンに従って変換されます。

アプリケーションが日本で利用される場合、タイムゾーンを 'Tokyo' に設定することが一般的です。これにより、アプリケーションの各部分で扱われる日付と時刻の値が、日本のタイムゾーンに基づいて表現されます。

Discussion