如何在python上获得周数?

时间:2015-07-27 04:18:33

标签: python algorithm calendar

我想获得如下图所示的周数

enter image description here

如果我插入20150502,则应打印“第1周”。

如果我插入20150504,则应打印“第2周”。

如果我插入20150522,则应打印“第4周”。

如何获得周数?

1 个答案:

答案 0 :(得分:1)

这是一个快速尝试,与所有日期/时间代码一样,可能存在许多可能导致奇怪结果的边缘情况。

# dateutil's parser is very good for converting from string to date
from dateutil.parser import parse

date_strs = ['20150502', '20150504', '20150522']

for date_str in date_strs:
    d = parse(date_str)
    month_start = datetime.datetime(d.year, d.month, 1)
    week = d.isocalendar()[1] - month_start.isocalendar()[1] + 1
    print(date_str + ':', week)

输出:

20150502: 1
20150504: 2
20150522: 4