只要使用普通的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对时区的调整。谢谢。
datetime.datetime.now(dateutil.tz.tzlocal())
对你有效吗? - Udidateutil.tz.tzlocal()
只是返回tzlocal()
。 - FadedCoder