Python关于节假日的一些处理

好久不写csdn了。今天水一篇

这两天写东西要用到节假日的判断,找了下官方,好像没找到(官方应该也不大会维护这种关于中国的节假日判断,因为这东西毕竟每年都得维护and吉多·范罗苏姆还是个荷兰人)。但是找了个第三方的:chinese_calendar
在这里插入图片描述

GitHub地址:chinese_calendar

用途:

判断某年某月某一天是不是工作日/节假日。 支持 2004年 至 2022年,包括 2020年 的春节延长。

安装:

pip install chinesecalendar

目前是1.7.2版本,支持到了2022年。

节假日这玩意,得根据国家发布信息来,所以每年都不一样,所以这插件作者每年都会更新,所以我们用的时候也得每年更新。如果不更新,就会发现2022年用的好好的,到了2023年就用不了了。

国务院办公厅关于2022年部分节假日安排的通知

在这里插入图片描述

样例:

import datetime

# 判断 2018年4月30号 是不是节假日
from chinese_calendar import is_holiday, is_workday
april_last = datetime.date(2018, 4, 30)
assert is_workday(april_last) is False
assert is_holiday(april_last) is True

# 或者在判断的同时,获取节日名
import chinese_calendar as calendar  # 也可以这样 import
on_holiday, holiday_name = calendar.get_holiday_detail(april_last)
assert on_holiday is True
assert holiday_name == calendar.Holiday.labour_day.value

# 还能判断法定节假日是不是调休
import chinese_calendar
assert chinese_calendar.is_in_lieu(datetime.date(2006, 2, 1)) is False
assert chinese_calendar.is_in_lieu(datetime.date(2006, 2, 2)) is True
# 判断当前日期是否为节假日
from chinese_calendar import is_workday,is_in_lieu

date = datetime.datetime.now().date()
print("today is:", date)
if is_workday(date):
    print("是工作日")
else:
    print("是节假日")

if is_in_lieu(date):
    print('调休')
else:
    print('不是调休')

最后:如果作者犯懒了,没及时更新,也可以自己来改改试试。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xkukeer/article/details/125643899