Rails5.1.3でWebアプリケーション制作の勉強をしています。
Time.zoneの設定でいろいろ設定を変更し時間の取得はJSTで取得できています。
しかし、レコードのcreated_atとupdated_atの時間が9時間ズレています。(UTCになっているようです。)
これをJSTの時刻に設定するにはどうすればいいのでしょうか?JSTに変更するべく追記したコードは以下になります。
application.rb config.time_zone = 'Tokyo'-----------追記 config.active_record.default_timezone = :local------追記
vagrant/.bash_profile export TZ="Asia/Tokyo"------追記
mysqlの変更 mysql> show variables like '%time_zone%'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | system_time_zone | JST | | time_zone | SYSTEM | +------------------+--------+ 2 rows in set (0.00 sec)
cronのタイムゾーン設定 CRON_TZ="Japan"
設定確認 [vagrant@localhost chibi]$ date Thu Feb 1 19:55:33 JST 2018
設定確認 [root@localhost chibi]# date Thu Feb 1 19:56:20 JST 2018
以上のように設定・確認しましたがcreated_atとupdated_atの時間だけが9時間ずれてしまっています。
UTCとJSTの違いだと思いますが、ここを修正するにはどうしたらいいのでしょうか?
自力ではどうしようもできないのでどなたか教えていただけないでしょうか?宜しくお願いします。
追記:新規にテーブルにレコードを追加してみました。
scoreテーブルにレコードを追加しました。 SQL (2.1ms) INSERT INTO `scores` (`customer_id`, `created_at`, `updated_at`) VALUES (42, '2018-02-01 20:09:34', '2018-02-01 20:09:34') 現在の時刻で登録されているようです。
しかしrailsコンソールでレコードを取り出すと created_at: "2018-02-01 11:09:34", updated_at: "2018-02-01 11:09:34"> のように9時間ズレて表示されます。
なぜ、同じレコードなのに時間がズレてしまうのでしょうか?
回答1件
あなたの回答
tips
プレビュー