Django如果开启了Time Zone功能,则所有的存储和内部处理,甚至包括直接print显示全都是UTC的.只有通过模板进行表单输入/渲染输出的时候,才会执行UTC本地时间的转换. 所以我建议后台处理时间的时候,最好完全使用UTC,不要考虑本地时间的存在.而显示时间的时候,也避免手动转换,尽量使用Django模板系统代劳. 启用 USE_TZ = True 后,处理时间方面,有两条 “黄金法则”: 保证存储到数据库中的是 UTC 时间: 在函数之间传递时间参数时,确保时间已经转换成 UTC…