Python计算两个日期间的工作日
计算两个日期之间有多少个工作日,优点是还能计算那些调休的工作日,这里推荐特别好用的模块就是chinesecalendar,它主要能够实时更新中国的节假日有那些。
下面直接上代码:
########################
def workday(kaishi,jieshu):
from datetime import datetime,timedelta
from chinese_calendar import is_workday
if type(kaishi)== str:
kaishi=datetime.strptime(kaishi,'%Y-%m-%d').date()
if type(jieshu)== str:
jieshu=datetime.strptime(jieshu,'%Y-%m-%d').date()
if kaishi>jieshu:
kaishi,jieshu=jieshu,kaishi
counts = 0
while True:
if kaishi >jieshu:
break
if is_workday(kaishi):
counts += 1
kaishi += timedelta(days=1)
return counts
print(workday('2022-01-01','2022-12-31'))
print(workday('2021-01-01','2021-12-31'))
print(workday('2020-01-01','2020-12-31'))
########################
执行结果如下:
249
250
249
________________END______________