日期范围
创建一个在 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)]