我有一个与其他遗留数据库大量交互的 Django 应用程序。这些其他数据库都使用本地时间,而不是 UTC。我了解 Django 的时区支持以及始终使用 UTC 时间的建议,除非与用户交互。在这种情况下,我真的只需要 Django 给我系统日期/时间。
在settings.py中我有
USE_TZ = False
当我从 linux 命令行运行 date
时,我得到(例如):
Tue Mar 15 17:03:42 MDT 2016
另外,当我打开一个常规(非 django)python shell 并运行时
import datetime
str(datetime.datetime.now())
我明白了
'2016-03-15 17:04:55.182283'
但是当我从 Django shell (python manage.py shell)
运行相同的命令时,我得到一个小时前的时间:
'2016-03-15 16:07:10.949269'
有什么方法可以让我获得一个具有准确系统时间的日期时间对象,而忽略任何其他时区魔法?
最佳答案
你想使用 django.utils.timezone
,特别是:
from django.utils.timezone import localtime, now
# get now datetime based upon django settings.py TZ_INFO
localtime(now())
关于python - 在 Django 中获取本地系统时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36023962/