运行Django Web应用程序和settings.py有以下内容:
TIME_ZONE = 'UTC'
模型的时间字段设置为datetime.datetime.utcnow()
。
当我在管理界面中查看该字段时,从我当地时间+8小时开始,UTC时间戳是正确的。
然而,当我在客户端显示时间时,时间是我当地时间的另外+8(总共+16小时)。
当我单步执行代码时,日期没有变化。从数据库中查询时间戳时,它与实际UTC的偏移量为+8。
我做错了什么?我们正在Windows上运行开发环境,并且有一些关于结果不准确的警告。但我也把它推到我们的Linux盒子里,结果是一样的。
答案 0 :(得分:1)
在settings.py
,如果
USE_TZ = True
...然后结果可能不如预期。我相信有文档,我只是错过了它。当我删除设置时,时间按预期报告。
Here是相关文档。特别是,如果您没有USE_TZ = True,则假定您使用的每个日期都在当地时间并将其转换为UTC