Django 时区
Django如果开启了Time Zone功能,则所有的存储和内部处理,甚至包括直接print显示全都是UTC的。只有通过模板进行表单输入/渲染输出的时候,才会执行UTC本地时间的转换。 所以我建议后台处理时间的时候,最好完全使用UTC,不要考虑本地时间的存在。而显示时间的时候,也避免手动转换,尽量使用Django模板系统代劳。 datetime.datetime.now() 输出永远都是本地时间,与配置没有任何关系。 开启USE_TZ = True TIME_ZONE 无论什么设置,插入数据库是东八区时间,数据库在项目原先时间基础上会加8小时 设置USE_TZ = False 和 TIME_ZONE = 'UTC'与USE_TZ = True等效。 查询时,django会拿时间+8去数据库查,返回数据库中减8的数据 当USE_TZ = False ,TIME_ZONE = 'Asia/Shanghai'时,会插入当前时间,也就是项目中datetime.datetime.now() 查询时,传入的什么时间值,查询的与数据库对应,返回的也是东八区时间
I can feel you forgetting me。。 有一种默契叫做我不理你,你就不理我