【发布时间】:2020-09-30 09:19:38
【问题描述】:
我想创建一个日期列表,每个日期代表 ISO 2020 年第 N 周的开始日期。
类似:
weeks2020 = [date(2020, 1, 1), date(2020, 1, 6), date(2020, 1, 13), ...]
我使用timedelta(weeks=1) 获得了类似的东西,并将其添加到我的START_DATE (date(2020, 1, 1)),但我获得的日期不正确。
我知道我可以简单地将我的 START_DATE 更改为 date(2019, 12, 30),但我想知道是否有更可靠的方法来推导出给定年份中存在的所有周开始日期。
为了清楚起见,这就是我现在正在做的事情:
from datetime import date, timedelta
START_DATE = date(2020, 1, 1)
INTERVAL = timedelta(weeks=1)
STEPS = 54
prev_date = START_DATE
for i in range(1, STEPS):
print(prev_date.strftime('%Y-%m-%d')) # step 1: 2020-01-01, step 2: 2020-01-08, ...
prev_date += INTERVAL
【问题讨论】:
标签: python python-3.x datetime calendar week-number