MYSQLにしたら、タイムゾーンの指定とかできるの?
はい、MySQLにはタイムゾーンを設定するためのオプションがあります。主に次の2つの方法があります:
-
MySQLのタイムゾーン設定を変更する:MySQLサーバーの設定ファイル(通常は
my.cnfまたはmy.ini)でデフォルトのタイムゾーンを設定します。例えば、default-time-zoneオプションを使用してタイムゾーンを指定できます。ini
[mysqld] default-time-zone = '+00:00' # タイムゾーンを指定これにより、MySQLが使用するデフォルトのタイムゾーンが設定されます。
-
コネクションごとにタイムゾーンを設定する:MySQLの接続ごとにタイムゾーンを設定できます。これは、Djangoのデータベース設定で行うことができます。Djangoの
TIME_ZONE設定とMySQLのタイムゾーンを同じにすることが重要です。例えば、Djangoの
settings.pyで以下のように設定します。python
TIME_ZONE = 'Asia/Tokyo'そして、Djangoのデータベース設定でタイムゾーンをMySQLに伝える必要があります。これは、通常、
OPTIONS内のinit_commandパラメータを使用して行われます。python
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'your_database', 'USER': 'your_username', 'PASSWORD': 'your_password', 'HOST': 'localhost', 'PORT': '3306', 'OPTIONS': { 'init_command': "SET sql_mode='STRICT_TRANS_TABLES', time_zone='+00:00'", }, } }time_zoneパラメータを通じてMySQLにタイムゾーンを設定することで、MySQLがDjangoと同じタイムゾーンを使用するようになります。

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