【Rails】created_at、updated_atを日本時間に変更
Ruby on RailsでWebサービスを作っていたら、日本時間への設定変更でつまずいてしまいました。
2019-07-09 10:00 + 0900みたいな表示になってしまう。
+0900じゃなくて、2019年07月09日 19時みたいな感じにしたい。
created_at、updated_atを日本時間に設定する方法
以下の4ステップでタイムゾーンを変更できます。
ステップ1:
config/application.rbにタイムゾーンの設定を追加
config/application.rbを開くと、以下のようなコードが記述されています。
このファイルに、以下のコードを記述してください。
config.time_zone = 'Tokyo'
ステップ2:サーバーを再起動させる
そして、rails sでサーバーを再起動させます。そうすると、以下のように日本時間で表示されるはずです。
ただ、これだと読みにくいので、さらにコードを記述していきます。
より見やすいように修正する
config/initializers/time_formats.rbというファイルを作ってください。
そして作ったファイルに、以下のコードを記述しましょう。
config/initializers/time_formats.rb
Time::DATE_FORMATS[:datetime_jp] = '%Y年 %m月 %d日 %H時 %M分'
コードを書いたら、サーバーを再起動します。
ステップ4:viewの修正をする
次にやるのがviewファイルの修正。
to_sメソッドを呼び出して、引数にフォーマット名を指定。
ちなみにto_sとは配列を文字列に変換するメソッドで、配列の各要素を文字列に変換して連結した文字列を返します。
以下のコードを日本時間へ修正したい箇所に追加します。
<%= xxx.created_at.to_s(:datetime_jp) %>
<%= xxx.updated_at.to_s(:datetime_jp) %>
完成です!
参考にしたサイト
https://qiita.com/tomo_k09/items/e4f19947d35890500492
この記事が気に入ったらサポートをしてみませんか?