我找不到适合我的答案。 我正在尝试使用datetime.now()检查创建的帖子的datetime之间的差异
我想在view.py中做的例子
if (datetime.now() - post.created_at).minutes > 10:
Do_this
else:
Do_that
我已经尝试过timedelta了。还尝试使用日期时间格式的strptime。没有运气
当我打印datetime.now()时,我得到:2018-12-10 20:22:10.535052 并发布了以下内容:created_at:2018-12-10 20:18:52:544396 + 00:00
如何使它们具有可比性?
答案 0 :(得分:1)
Django为您提供了时区感知datetime
对象。 datetime.now()
是giving you的时区原始datetime
对象。您无法比较这些。
代替使用django.utils.timezone.now()
,它提供与您的Django设置相匹配的datetime
对象的类型(在您的情况下为时区感知datetime
)。
还要注意,timedelta
个对象as documented没有minutes
属性。它们确实具有seconds
属性。
总结:
if timezone.now() - post.created_at > timedelta(minutes=10):
Do_this
else:
Do_that