【亲测】Python-判断某一天是否为假期、调休、工作日

进来绝对会让阁下少扑腾一刻钟。哈哈哈哈

试了几个库,还是这个靠谱。拒绝BB,直接上手、操作

pip install chinese_calendar记得每年更新一次@_~

from datetime import datetime
from chinese_calendar import is_holiday, get_holiday_detail, is_in_lieu, is_workday


def holidays_cal(dstr):
    dt = datetime.strptime(dstr, "%Y-%m-%d")
    is_holi = is_holiday(dt)
    print("is_holi :", is_holi )  # 判断当天是否不上班[含调休、放假、周末]
    # on_holiday, holiday_name = get_holiday_detail(dt)
    # print(on_holiday, holiday_name )
    is_wd = is_workday(dt)  # 判断是否是工作日,对于某些调休的周末,需要上班的,该值为True
    print("is_workday:", is_wd)
    is_lieu = is_in_lieu(dt)  # 判断是否为调休日,当日应该上班但放假,利用其它周末的时间,补回该天的班
    print("is_lieu:", is_lieu)

if __name__ == '__main__':
	dstr = "2023-04-23"  # False True False=>非假期,工作日,非调休
    dstr = "2023-04-29"  # True False False=>假期,非工作日,非调休
    dstr = "2023-04-30"  # True False False=>假期,非工作日,非调休
    dstr = "2023-05-01"  # True False False=>假期,非工作日,非调休
    dstr = "2023-05-02"  # True False True=>假期,非工作日,调休日
    dstr = "2023-05-03"  # True False True=>假期,非工作日,调休日
    dstr = "2023-05-04"  # False True False=>非假期,工作日,非调休
    holidays_cal(dstr)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值