使用以下代码使其工作。在
这个结果与我最初的问题的结果完全相同,但是现在包括了第53周,并且前导0表示所有少于2位数的周。在import datetime
from datetime import timedelta
import time
from datetime import date
yearweekArray = []
today = date.today()
weekday = today.weekday()
start_delta = datetime.timedelta(days=weekday, weeks=10)
startOfWeek = today - start_delta
for i in range(0,10):
yearweek = startOfWeek + timedelta(weeks=i)
curDate = time.strptime(str(yearweek), "%Y-%m-%d")
curYear = int(time.strftime("%Y", curDate))
curMonth = int(time.strftime("%m", curDate))
curDay = int(time.strftime("%d", curDate))
weekNum = "%02d" % (datetime.date(curYear, curMonth, curDay).isocalendar()[1],)
yearweekArray.append(str(curYear) + str(weekNum))
print yearweekArray
这里的关键是使用isocalendar代替尝试用时间.strftime(“%Y%W”,curDate)
输出:
^{pr2}$