0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Railsでの時間の表示フォーマットを変更する方法

Last updated at Posted at 2020-11-21

時間の表示が以下のようになっていて、変更したいことがあると思います。

<現状>
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日")
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?