日期范围
创建一个在 start(包含)和 end(不包含)之间的日期列表。
- 使用
datetime.timedelta.days获取start和end之间的天数。 - 使用
int()将结果转换为整数,并使用range()迭代每一天。 - 使用列表推导和
datetime.timedelta创建一个datetime.date对象的列表。
from datetime import timedelta, date
def daterange(start, end):
return [start + timedelta(n) for n in range(int((end - start).days))]
daterange(date(2020, 10, 1), date(2020, 10, 5))
# [date(2020, 10, 1), date(2020, 10, 2), date(2020, 10, 3), date(2020, 10, 4)]