只要我使用普通的 Python shell,datetime.datetime.now()
命令就可以正常获取系统的本地(非 UTC)时间。
但我正在开发一个 Django 项目,其中时区在 settings.py
中更改为 TIME_ZONE = 'UTC'
。
我尝试了很多解决方案,从 django.utils timezone
到 tzlocal
模块,但都没有用。它们都返回不正确或 UTC 时间。
如果我将 settings.py
中的时区更改为我的本地时区,则所有解决方案都有效。但我不能这样做,所以有什么办法可以绕过 settings.py
中的默认时区选项?或者可以自动更新 settings.py
的时区?如果我删除 TIME_ZONE
行,我不知道为什么,但它似乎得到一个随机时区。
编辑 -
我知道可以使用 pytz
手动输入时区,但我不想那样做。我想获得本地系统时区,但没有 Django 的时区节制。
谢谢。
最佳答案
Django 似乎将其时区放在 TZ 环境变量中。尝试使用 del os.environ['TZ']
然后使用 tzlocal。
关于python - 绕过默认时区在Django中获取带时区的系统时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41592506/