LoginSignup
0
0

More than 3 years have passed since last update.

Docker、Railsでcreated_atやdatetimeなどの時間が日本時間で保存されないときに確認すること

Last updated at Posted at 2021-01-04

結論

Docker、Railsでcreated_atやdatetimeなどの時間が日本時間で保存されないときはrubyのコンテナ内のtimezoneを確認しよう。

このようにconfigに書くといいとぐぐるとたくさん出てくる。
環境がhomebrewだとこれでいくと思われる。

dockerだとコンテナ内のtimezoneをAsia/Tokyoにする必要が出てくる。

config/application.rb
module App
  class Application < Rails::Application
    # Initialize configuration defaults for originally generated Rails version.
    config.load_defaults 5.2

    config.time_zone = 'Asia/Tokyo'
    config.active_record.default_timezone = :local

なのでこちらを追加する。

rubyのDockerfile
ENV TZ Asia/Tokyo <= こちらを追加(docker-comopse.ymlのほうでもよい)

もし、これでもうまくいかなかったらDBのコンテナのtimezoneも確認して'Asia/Tokyo'にする必要があるかもしれません。

参考ページ
Dockerコンテナのタイムゾーン設定を変更する - 箱のプログラミング日記。

RailsでTime.nowが日本時間にならないときはTZを確認しましょう | TOMILOG

RubyとRailsにおけるTime, Date, DateTime, TimeWithZoneの違い - Qiita

Railsと周辺のTimeZone設定を整理する (active_record.default_timezoneの罠) - Qiita

Docker+Rails6でTimeZoneをUTCからJSTに変更する方法!設定方法はとても簡単! – himakuroブログ

MySQL :: MySQL 5.6 リファレンスマニュアル :: 10.6 MySQL Server でのタイムゾーンのサポート

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