python - 将日期时间与时间范围进行比较
问题描述
我有一个代表用户何时登录的日期时间对象,我想从这个对象检查日期时间对象是否表示今天-7范围内的日期,所以如果今天是 2018-06-21 我想返回今天之间的任何日期和 2018 年 6 月 14 日。我附上了我的代码示例(非常错误)。
def joined_today(self, query):
filtered = []
today = datetime.today().date()
for x in query:
if x[1].date() = today -7:
filtered.append(x)
return filtered
解决方案
这里有几件事。首先,您可以使用datetime.timedelta
. 其次,您不想检查日期是否等于“今天 - 7”,您想检查它是否大于该日期且小于或等于今天。所以:
seven_days_ago = today - timedelta(days=7)
for x in query:
if seven_days_ago < x[1].date() <= today:
...