如何清理日期时间和时区混淆?

时间:2015-02-19 21:07:14

标签: python django datetime timezone utc

运行Django Web应用程序和settings.py有以下内容:

TIME_ZONE = 'UTC'

模型的时间字段设置为datetime.datetime.utcnow()。 当我在管理界面中查看该字段时,从我当地时间+8小时开始,UTC时间戳是正确的。

然而,当我在客户端显示时间时,时间是我当地时间的另外+8(总共+16小时)。

当我单步执行代码时,日期没有变化。从数据库中查询时间戳时,它与实际UTC的偏移量为+8。

我做错了什么?我们正在Windows上运行开发环境,并且有一些关于结果不准确的警告。但我也把它推到我们的Linux盒子里,结果是一样的。

1 个答案:

答案 0 :(得分:1)

settings.py,如果

USE_TZ = True

...然后结果可能不如预期。我相信有文档,我只是错过了它。当我删除设置时,时间按预期报告。

@Two-BitAlchemist提供:

  

Here是相关文档。特别是,如果您没有USE_TZ = True,则假定您使用的每个日期都在当地时间并将其转换为UTC