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

内容分享3小时前发布 绵设
0 2 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______________

© 版权声明

相关文章

2 条评论

  • 头像
    珍爱如始 读者

    下次记得用代码块

    无记录
    回复
  • 头像
    酒酿熊子 投稿者

    @初心不变_叶子 谢谢

    无记录
    回复