日更成长营自学编程Python

Python计算两个日期间的工作日

2023-01-03  本文已影响0人  小强聊成长

计算两个日期之间有多少个工作日,优点是还能计算那些调休的工作日,这里推荐特别好用的模块就是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______________

上一篇 下一篇

猜你喜欢

热点阅读