created_atとupdated_atを日本時間へ変更する方法
config/application.rbに以下のコードを記述する
config/application.rb
config.time_zone = 'Tokyo'
config/application.rb
require_relative 'boot'
require 'rails/all'
# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(*Rails.groups)
module App名
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 6.0
# Settings in config/environments/* take precedence over those specified here.
# Application configuration can go into files in config/initializers
# -- all .rb files in that directory are automatically loaded after loading
# the framework and any gems in your application.
config.time_zone = 'Tokyo' # ここにタイムゾーンを追記する
end
end
% rails s
でサーバーを再起動すると表記が下記のような日本時間に変わる
表示を変更する
config/initializersディレクトリにtime_formats.rbファイルを作成する
time_formats.rbに下記の記述をする
config/initializers/time_formats.rb
Time::DATE_FORMATS[:datetime_jp] = '%Y/%m/%d %H:%M'
# '%Y年 %m月 %d日 %H時 %M分' など表示させたいフォーマットにする
`% rails sでサーバーを再起動
viewへの反映
html.erb
<%= xxx.created_at.to_s(:datetime_jp) %>
<%= xxx.updated_at.to_s(:datetime_jp) %>
created_at, updated_atで
to_sメソッドを呼び出して、引数にフォーマット名を指定
(to_sとは配列を文字列に変換するメソッドで、配列の各要素を文字列に変換して連結した文字列を返す)
/参考にした記事/
https://qiita.com/tomo_k09/items/e4f19947d35890500492