質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

0回答

509閲覧

【Rails×RDS(MySQL)】time_zoneをJSTに直したのにcreated_atがUTC時間で記録される

black_pasta1001

総合スコア19

Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2022/01/18 08:13

編集2022/01/18 09:56

EC2環境にデプロイしたRailsアプリのDBとしてRDS(MySQL)を利用しているのですがtime_zoneにAsia/Tokyoを設定したのに実際にインスタンスを保存してみるとcreated_atに記録される時間がUTCのままです。

MySQLの設定

mysql> show variables like '%time_zone%'; +------------------+------------+ | Variable_name | Value | +------------------+------------+ | system_time_zone | UTC | | time_zone | Asia/Tokyo | +------------------+------------+ 2 rows in set (0.01 sec) mysql> SELECT NOW(); +---------------------+ | NOW() | +---------------------+ | 2022-01-18 16:54:08 | +---------------------+ 1 row in set (0.00 sec) *現在時刻が表示されています。

使用しているDBの中身を確認

mysql> use my_db +----+------------------------------------------------------------------------------------------------------------+---------+-------------+----------------------------+----------------------------+ | id | content | user_id | question_id | created_at | updated_at | +----+------------------------------------------------------------------------------------------------------------+---------+-------------+----------------------------+----------------------------+ | 46 | Nothing | 2 | 7 | 2022-01-17 23:30:23.732658 | 2022-01-17 23:30:23.732658 | | 47 | Test | 2 | 24 | 2022-01-18 00:07:31.282930 | 2022-01-18 00:07:31.282930 | +----+------------------------------------------------------------------------------------------------------------+---------+-------------+----------------------------+----------------------------+ *created_atがUTC時刻になっている。

どうしたらcreated_atがJSTで記録されるようになるのでしょうか?

追記(Railsの設定)

config/application.rb

1config.active_record.default_timezone = :local 2config.time_zone = 'Tokyo'

追記(MySQLへのtimezone設定過程)

AWSのRDSダッシュボードからパラメータグループを作成

time_zoneにAsia/Tokyoを設定

DBインスタンスに作成したパラメータグループを設定

TZ環境変数

[ec2-user@ip-]$ export TZ="Asia/Tokyo"

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2022/01/18 08:14

Railsサイドの設定と、TZ環境変数はどのようになっていますか?
yu_1985

2022/01/18 08:17

まず、どうやって設定しましたか?
black_pasta1001

2022/01/18 09:57

本文に情報を追記致しました。確認を宜しくお願いいたします。
yu_1985

2022/01/19 06:49

一応ですが、動いているEC2インスタンスのタイムゾーン設定はどうなっていますか?
black_pasta1001

2022/01/19 11:06

ec2のタイムゾーン設定がUTCになっていました。JSTに設定し、うまくいきました。ご指摘ありがとうございます。
yu_1985

2022/01/20 03:29

exportコマンドで手打ちでタイムゾーンを設定すると、ログアウトするたびにもとに戻りませんか? sudo timedatectl set-timezone Asia/Tokyo で変えるといいです
black_pasta1001

2022/01/20 12:27

yu_1985様 追記いただきありがとうございます。おっしゃる通りでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問