首页 > 其他 > 详细

Django时区导致的datetime时间比较报错

时间:2019-08-01 13:45:31      阅读:53      评论:0      收藏:0      [点我收藏+]

我们使用python 的datetime模块比较Django数据库Datetime字段的时候,可能会出现报错:

TypeError: cant compare offset-naive and offset-aware datetimes

这是因为两个时间不属于同一类型,offset-naive是不含时区的类型,而offset-aware是有时区类型,两者自然不能比较。
Django默认时区和datetime模块默认的now()时区格式是不一致的,所以才会出现这种问题

解决方案1:

 

技术分享图片

 

 技术分享图片

 

 解决方案2:

在比较的时候我们用datetime模块的UTC时间

datetime.utcnow()   # 获取当前UTC时间

这样获取到的时间格式和Django获取到的时间格式是一致的

 

Django时区导致的datetime时间比较报错

原文:https://www.cnblogs.com/dongxixi/p/11281616.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!