root@531a0c7c5e99:/home/NBSystem# python3 manage.py shell Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] on linux Type “help”, “copyright”, “credits” or “license” for more information. (InteractiveConsole) >>> from django.utils import timezone >>> >>> # タイムゾーンオブジェクトの確認 >>> print(timezone) <module ‘django.utils.timezone’ from ‘/usr/local/lib/python3.10/dist-packages/django/utils/timezone.py’> >>> >>> # タイムゾーンを利用した日時の取得 >>> print(timezone.now()) 2024-02-28 06:14:42.059354+00:00

timezone.now()を実行した結果、UTCの時刻が返されました。これは、Djangoのデフォルト設定ではUTCが使用されているためです。

デフォルトのタイムゾーンを変更するには、settings.pyファイルでTIME_ZONEを設定します。例えば、Asia/Tokyoというタイムゾーンを設定する場合は、settings.pyファイル内で次のように記述します:

python
TIME_ZONE = 'Asia/Tokyo'

この設定を変更した後にtimezone.now()を呼び出すと、日本時間が返されるはずです。設定を変更したら、シェルを再起動してtimezone.now()を試してみてください。

未分類

Posted by ぼっち