答案 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