【发布时间】:2015-08-19 15:27:43
【问题描述】:
from datetime import datetime
def calculate_whole_week(year, start_month, end_month, weekday):
date_str_start = str(year)+' ' + start_month+' '+ weekday
date_str_end = str(year)+' ' + end_month+' '+ weekday
start_day = datetime.strptime(date_str_start, '%Y %B %A')
end_day = datetime.strptime(date_str_end, '%Y %B %A')
no_of_whole_weeks = (end_day - start_day).days//7 -1
return no_of_whole_weeks
calculate_whole_week(2014,'April','May','Wednesday')
我尝试了以下但我无法编译它
start_week_day = time.strptime(str(Y)+' '+ A + ' '+ W,"%Y %B %A").tm_wday
end_week_day = time.strptime(str(Y)+' '+ B + ' '+ W,"%Y %B %A").tm_wday
start_dt = time.strptime(str(Y)+' '+A+' '+ str(start_week_day),'%Y %B %d')
end_dt = time.strptime(str(Y)+' '+ B +' '+ str(end_week_day),'%Y %B %d')
no_of_whole_weeks = (end_dt - start_dt).days//7 -1
print (end_dt - start_dt).days
return no_of_whole_weeks
我在这里面临的挑战是如何计算我通过的工作日的确切日期
如果我运行上面的代码,我会得到 3 而不是 7
【问题讨论】:
-
什么?这到底是要做什么?您知道工作日在给定月份会出现多次,对吧?
-
大声笑。我知道这看起来很愚蠢。我没有主意了。