[Rails]DM機能に送信日時を日本時間で表示させる


本記事投稿のいきさつ

現在作成中のアプリでメッセージ機能を作成しました。
その中で日本時間で送信日時を表示させる際に、初めて知った内容があったため備忘録として書きたいと思います。
内容自体はとても簡単なものとなっています。
今回は以下のアプリで実装していきます。

ビューに追記

メッセージを表示させるビューに以下を追記

message.html.haml
= message.created_at

しかし、これだけでは以下の表示となってしまいます。

とても見づらい表示となってしまうため、先ほどのコードに追記をし、表示の方法を指定します

message.html.haml
= message.created_at.strftime("%Y年%m月%d日 %H時%M分")

すると、こんな感じに。

日本時間の設定

ここが自分が知らなかった点なのですが、Railsのアプリケーションの時間基準は、デフォルトでは協定時(UTC)となっています。
そのため、日本時間で表示をするためには、config/application.rbを以下のように編集する必要があります。

config/application.rb
class Application < Rails::Application
#以下を追記
  config.time_zone = 'Asia/Tokyo'

終わり

これでメッセージアプリに日本時間での表示ができるようになりました。
最後まで見ていただきありがとうございました。