使用python获取两个日期之间的星期数

鲁多

我想找到最Python的方式来输出两个日期之间的星期数列表。

例如:

输入

start = datetime.date(2011, 12, 25) 
end = datetime.date(2012, 1, 21)

输出

find_weeks(start, end)
>> [201152, 201201, 201202, 201203]

我一直在努力使用datetime库,但收效甚微

安东vBR

update:删除了不太可读的选项)

import datetime

def find_weeks(start,end):
    l = []
    for i in range((end-start).days + 1):
        d = (start+datetime.timedelta(days=i)).isocalendar()[:2] # e.g. (2011, 52)
        yearweek = '{}{:02}'.format(*d) # e.g. "201152"
        l.append(yearweek)
    return sorted(set(l))

start = datetime.date(2011, 12, 25) 
end = datetime.date(2012, 1, 21)

print(find_weeks(start,end)[1:]) # [1:] to exclude first week.

退货

['201152', '201201', '201202', '201203']

要包含第一周(201151),只需[1:]在函数调用后删除

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章