時間の表示が以下のようになっていて、変更したいことがあると思います。
<現状>
2020-01-01 00:12:19 UTC
<変更>
2020年01年01日
変更方法として、以下の2通りの手順があります。
手順① time_formatsより設定する
time_formats.rbファイルの作成
config/initializersの直下に、time_formats.rbファイルを作成します。
時間表示のフォーマットを設定
例えば、data_jpという変数に「XXXX年○○月△△日」のフォーマットを設定するイメージです。
月と分に「M」が使用しているなどダブった時のために仕様上、年月日と時分秒によって大文字と小文字で使い分けてるってことですね。
config/initializers/time_formats.rb
Time::DATE_FORMATS[:datetime_jp] = '%Y年 %m月 %d日 %H時 %M分'
Time::DATE_FORMATS[:datetime] = '%Y/%m/%d %H:%M'
Time::DATE_FORMATS[:date_jp] = '%Y年 %m月 %d日'
Time::DATE_FORMATS[:date] = '%Y/%m/%d'
Time::DATE_FORMATS[:time_jp] = '%H時 %M分 %S秒'
Time::DATE_FORMATS[:time] = '%H:%M:%S'
時間表示の変更したい項目にフォーマットを設定
変更したい項目の後に、先ほど設定したdatatime_jpをto_sメソッドを使用して設定して完了です。
app/views/tests/new.html.erb
tweet.start_time.to_s(:date_jp)
手順② strftimeより設定する
こちらでは、直接カラムの型strftimeで設定する方法です。
Date型だと手順①ではうまくいきませんでしたので、手順②で行いました。
app/views/tests/new.html.erb
tweet.start_time.strftime("%Y年%m月%d日")