日時の表示に関して起きる問題
viewにcreated_at
のような日時を出力した場合
contents/index.html
<span class="date"><%= item.created_at.to_s[0..15] %></span>
こう記載しただけだと日本時間(JST)ではなく、世界標準時(UTC)で表示されてしまいます。
タイムゾーンを日本時間に変更する
config/application.rb
に以下の設定を追加し、サーバーを再起動するだけです。
config/application.rb
module MovieReview
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 6.0
config.i18n.default_locale = :ja
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.yml').to_s]
# ↓以下を追加 タイムゾーンを日本時間に設定
config.time_zone = 'Asia/Tokyo'
これで画面に表示された日時が日本時間になります。
ちなみに再起動した際に、NameError: undefined local variable or method `config' for main:Object
エラーが出た場合は、config.time_zone = 'Asia/Tokyo'
の記載している位置がおかしいことが考えられます。
参考: