2024-03-01 06:58:41.569084 RDSでパラメータグループをカスタムのものにしてTIMEZONEをASIA/TOKYOに変更して、インスタンスを割り当ててDjango でモデルを created_at = models.DateTimeField(auto_now_add=True)でMYSQLへアクセスすると、時間たUTCになる。
Djangoのデフォルト設定では、DateTimeFieldによって保存される時刻はUTC(協定世界時)になります。しかし、日本時間にしたい場合は、以下の2つの方法があります。
-
Djangoのタイムゾーン設定を変更する: Djangoの設定ファイル(settings.py)で、タイムゾーンを日本時間に変更します。
python
TIME_ZONE = 'Asia/Tokyo'これにより、Django内のすべての時刻は日本時間になりますが、データベース内の時刻は依然としてUTCのままです。
-
データベースのタイムゾーン設定を変更する: RDSのパラメータグループで、MySQLのタイムゾーンを日本時間に変更します。
これにより、データベース内の時刻が日本時間になります。Djangoはデータベースから取得した時刻をそのまま使うので、Djangoの設定を変更する必要はありません。
どちらの方法を選択しても、データベースとDjangoのタイムゾーン設定が一致していることを確認してください。これにより、期待する日本時間が表示されるはずです。

ディスカッション
コメント一覧
まだ、コメントがありません