首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法比较naive和aware datetime.now() <= challenge.datetime_end

无法比较naive和aware datetime.now() <= challenge.datetime_end
EN

Stack Overflow用户
提问于 2013-03-09 13:38:56
回答 7查看 247.5K关注 0票数 233

我尝试使用比较运算符将当前日期和时间与模型中指定的日期和时间进行比较:

代码语言:javascript
运行
复制
if challenge.datetime_start <= datetime.now() <= challenge.datetime_end:

脚本错误输出为:

代码语言:javascript
运行
复制
TypeError: can't compare offset-naive and offset-aware datetimes

模型如下所示:

代码语言:javascript
运行
复制
class Fundraising_Challenge(models.Model):
    name = models.CharField(max_length=100)
    datetime_start = models.DateTimeField()
    datetime_end = models.DateTimeField()

我也有使用地区日期和时间的django。

我找不到的是django用于DateTimeField()的格式。它是天真的还是有意识的?如何让datetime.now()识别区域设置日期时间?

EN

Stack Overflow用户

发布于 2020-07-04 05:35:58

只要:

代码语言:javascript
运行
复制
dt = datetimeObject.strftime(format) # format = your datetime format ex) '%Y %d %m'
dt = datetime.datetime.strptime(dt,format)

所以要这样做:

代码语言:javascript
运行
复制
start_time = challenge.datetime_start.strftime('%Y %d %m %H %M %S')
start_time = datetime.datetime.strptime(start_time,'%Y %d %m %H %M %S')

end_time = challenge.datetime_end.strftime('%Y %d %m %H %M %S')
end_time = datetime.datetime.strptime(end_time,'%Y %d %m %H %M %S')

然后使用start_timeend_time

票数 -1
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15307623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档