python语言判断中国节假日(pip install chinesecalendar)

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

一、安装

pip install chinesecalendar  #默认安装是最新版版的1.6.1

二、样例

import datetime

# 判断指定日期,如:2015年9月3日 是不是节假日
from chinese_calendar import is_workday
data = datetime.date(2015, 9, 3)
if is_workday(data):
  print("是工作日")
else:
  print("是节假日")

# 或者在判断的同时,获取节日名
import chinese_calendar as calendar
on_holiday, holiday_name = calendar.get_holiday_detail(data)
if on_holiday:
  print('是节假日')
else:
  print('是工作日')
if holiday_name in ["New Year's Day","Spring Festival","Tomb-sweeping Day","Labour Day","Dragon Boat Festival","National Day","Mid-autumn Festival","Anti-Fascist 70th Day"]:
  print(holiday_name)
else:
  print('普通节假日')


# 还能判断法定节假日是不是调休
import chinese_calendar
if chinese_calendar.is_in_lieu(data):
  print('调休')
else:
  print('不是调休')

#判断当前日期是否为节假日    2022.3.5
from chinese_calendar import is_workday
date = datetime.datetime.now().date()
if is_workday(date):
  print("是工作日")
else:
  print("是节假日")

以上样例输出为:

是节假日
是节假日
Anti-Fascist 70th Day
不是调休
是节假日

 此外,还可以自己更改那天为工作日或者节假日在pycharm编译环境下, 按住键盘ctrl键同时鼠标左键双击chinese_calendar,在以下页面点击修改

holidays = {
    datetime.date(year=2004, month=1, day=1): Holiday.new_years_day.value,
    datetime.date(year=2004, month=1, day=22): Holiday.spring_festival.value,
    datetime.date(year=2004, month=1, day=23): Holiday.spring_festival.value,
    datetime.date(year=2004, month=1, day=24): Holiday.spring_festival.value,
    datetime.date(year=2004, month=1, day=25): Holiday.spring_festival.value,
    datetime.date(year=2004, month=1, day=26): Holiday.spring_festival.value,
    datetime.date(year=2004, month=1, day=27): Holiday.spring_festival.value,
    datetime.date(year=2004, month=1, day=28): Holiday.spring_festival.value,
    datetime.date(year=2004, month=5, day=1): Holiday.labour_day.value,
    datetime.date(year=2004, month=5, day=2): Holiday.labour_day.value,
    datetime.date(year=2004, month=5, day=3): Holiday.labour_day.value,
    datetime.date(year=2004, month=5, day=4): Holiday.labour_day.value,
    datetime.date(year=2004, month=5, day=5): Holiday.labour_day.value,
    datetime.date(year=2004, month=5, day=6): Holiday.labour_day.value,
    datetime.date(year=2004, month=5, day=7): Holiday.labour_day.value,
    datetime.date(year=2004, month=10, day=1): Holiday.national_day.value,
    datetime.date(year=2004, month=10, day=2): Holiday.national_day.value,...
}
workdays = {
    datetime.date(year=2004, month=1, day=17): Holiday.spring_festival.value,
    datetime.date(year=2004, month=1, day=18): Holiday.spring_festival.value,
    datetime.date(year=2004, month=5, day=8): Holiday.labour_day.value,
    datetime.date(year=2004, month=5, day=9): Holiday.labour_day.value,
    datetime.date(year=2004, month=10, day=9): Holiday.national_day.value,
    datetime.date(year=2004, month=10, day=10): Holiday.national_day.value,
    datetime.date(year=2005, month=2, day=5): Holiday.spring_festival.value,
    datetime.date(year=2005, month=2, day=6): Holiday.spring_festival.value,
    datetime.date(year=2005, month=4, day=30): Holiday.labour_day.value,
    datetime.date(year=2005, month=5, day=8): Holiday.labour_day.value,
    datetime.date(year=2005, month=10, day=8): Holiday.national_day.value,
    datetime.date(year=2005, month=10, day=9): Holiday.national_day.value,...
}

本文参考链接https://pypi.org/project/chinesecalendar/

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值