python - 在 Django 中获取本地系统时间

标签 python django datetime

我有一个与其他遗留数据库大量交互的 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/

相关文章:

python - 无法在 python 上运行转义的 Windows 命令行

python - sklearn 中的 log_loss : Multioutput target data is not supported with label binarization

c++ - 返回 const char*;静电有多难看?

python - Django 1.8 循环依赖错误

datetime - DateTime在C#,Silverlight中从int转换为Month名称

javascript - 在python服务器上执行程序并在html网页上动态更新结果

django - 保存 geodjango PointField 时出错

python - Django - 如何使用 URL 中定义的外键创建 POST?

c# - 获取两次之间的时间,时间跨度为一小时

python - 根据时间间隔连接 Pandas 数据帧并计算平均值