python - 绕过默认时区在Django中获取带时区的系统时间

标签 python django date datetime

只要我使用普通的 Python shell,datetime.datetime.now() 命令就可以正常获取系统的本地(非 UTC)时间。

但我正在开发一个 Django 项目,其中时区在 settings.py 中更改为 TIME_ZONE = 'UTC'

我尝试了很多解决方案,从 django.utils timezonetzlocal 模块,但都没有用。它们都返回不正确或 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/

相关文章:

django - Elastic Beanstalk 环境的健康状况严重 : Following services are not running: release

Java日期时间格式转换

javascript - 日期转换使用 javascript 将日期转换为之前的日期

python - 如何比较python中的两个时区?

python - 使用自定义 __getitem__ 方法解包的参数永远不会终止

python - 使用 Visual Studio 将 PySpark 作业发送到 HDInsight 群集?

python - Django 测试运行环境错误 : no enough space left on disk

sql - 在 django ORM 中使用 postgresql 窗口函数的干净方法?

java - 如何在控制台打印 "Today is May 22, 2014 and it is 2:04 pm"?

python - QTableView 上的 PySide 委托(delegate),带有文本和勾号