我遇到以下问题: 我有一个函数,它遍历一个日期列表,这些日期都是工作日。对于每个auf这些日期我需要获得周数。所以这看起来像是:
last_day = datetime.date(2016, 2, 1)
current_workday = datetime.now().date()
datelist = []
while current_workday < last_day:
datelist.append(current_workday)
current_workday = workdays.workday(current_workday, 1) //get the next workday
for day in datelist:
week = datetime.date(day).isocalendar()[1]
print week
然而,我的老板不再幸运了多年之间发生的事情。 “问题”指向本页末尾http://www.staff.science.uu.nl/~gent0113/calendar/isocalendar.htm(转到页面长短ISO年)
“ISO日历年很长,当且仅当相应的公历年开始于星期四,这是一个普通的年份,或者是在星期三的闰年开始。”
这似乎并不总是如作者进一步提到的那样:
“这条规则自1977年以来一直运作良好,但在2004年(从星期四开始的闰年)失败,如下图所示。” (请参阅页面上的图表,因为我不允许发布图像,因此可以使用长短ISO年限)
我的问题是另一种方式。我似乎没有足够的声誉点来显示给你,但在我的Excel输出文件中,我只在1月1日得到CW 0。
他不想要那些第0周。有人知道如何计算另一周的格式而不是来自isocalendar的格式吗?或者我只是做错了什么?