chinesecalendar:判断日期是不是工作日
chinesecalendar:判断日期是不是工作日
工作与学习中,有个场景需要判断指定日期是不是工作日,例如自动化办公工作日自动发邮件,量化交易判断是否为交易日等等, 因此我们需要能准确判断给的日期是不是工作日,Python中一般使用模块chinesecalendar来解决这个问题。网友自己维护代码语言:javascript代码运行次数:0运行复制from datetime import dat
chinesecalendar:判断日期是不是工作日
工作与学习中,有个场景需要判断指定日期是不是工作日,例如自动化办公工作日自动发邮件,量化交易判断是否为交易日等等, 因此我们需要能准确判断给的日期是不是工作日,Python中一般使用模块chinesecalendar
来解决这个问题。
网友自己维护
代码语言:javascript代码运行次数:0运行复制from datetime import datetime
# 休:正常工作日(周一至周五)放假日期
holidays_exception = [
'20200101', # 元旦,周三
'20200122', # 如:公司提前放假
'2020012', # 如:公司提前放假
'20200124', # 除夕,周五
'20200127', # 春节,周一
'20200128', # 春节
'20200129', # 春节
'2020010', # 春节,周四
'2020011', # 新冠疫情国务院放假
'20200201', # 新冠疫情国务院放假
'20200406', # 清明,周一
'20200501', # 劳动节,周五
'20200504', # 劳动节,周一
'20200505', # 劳动节,周二
'20200625', # 端午,周二
'20200626', # 端午,周二
'20201001', # 国庆,周四
'20201002', # 国庆,周五
'20201005', # 国庆,周一
'20201006', # 国庆,周二
'20201007', # 国庆,周三
'20201008', # 国庆,周四
]
# 班:正常周末(周周五)上班日期
workdays_exception = [
'20200201', # 春节, 周六
'20200426', # 劳动节, 周日
'20200509', # 劳动节, 周六
'20200628', # 端午, 周日
'20200927', # 国庆,周六
'20201010', # 国庆,周六
]
def is_workday(day=one):
"""
Args:
day: 日期, 默认为今日
Returns:
True: 上班
False: 放假
"""
# 如果不传入参数则为今天
today = ()
# logger.info(today)
day = day or today
week_day = datetime.weekday(day) + 1 # 今天星期几(星期一 = 1,周日 = 7)
is_work_day_in_week = week_day in range(1, 6) # 这周是不是非周末,正常工作日, 不考虑调假
day_str = f'{day.year}{str().zfill(2)}{str(day.day).zfill(2)}'
if day_str in workdays_exception:
return True
elif day_str in holidays_exception:
return False
elif is_work_day_in_week:
return True
else:
return False
def is_holiday(day=one):
# 如果不传入参数则为今天
today = ()
day = day or today
if is_workday(day):
return False
else:
return True
# 判断指定日期
is_workday(datetime(2020, 8, 1)) # 不是工作日,False
is_holiday(datetime(2020, 8, 1)) # 是休假日,True
# 判断当天
is_workday() # 是不是工作日,True 为是
is_holiday() # 是不是休假日,True 为是
安装
官方文档:/
pip install chinesecalendar
使用
代码语言:javascript代码运行次数:0运行复制import datetime
from chinese_calendar import is_workday
# 判断是否为工作日
date = datetime.().date()
date2 = datetime.date(202, 9, 25)
if is_workday(date2):
print("是工作日")
else:
print("是休息日")
# 判断是否为调休日
from chinese_calendar import is_in_lieu
print(is_in_lieu(date2))
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-05-09,如有侵权请联系 cloudcommunity@tencent 删除工作量化官方文档自动化datetime来自: 每日一模块:chinesecalendar
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-21 07:40:01
推荐阅读
留言与评论(共有 16 条评论) |
本站网友 膀胱癌 | 16分钟前 发表 |
周六 '20201010' | |
本站网友 无反相机 | 1分钟前 发表 |
return False elif is_work_day_in_week | |
本站网友 侨城尚寓 | 27分钟前 发表 |
# 国庆 | |
本站网友 晋城租房网 | 2分钟前 发表 |
每日一模块:chinesecalendar 本文参与 腾讯云自媒体同步曝光计划 | |
本站网友 龙城二手房 | 22分钟前 发表 |
# 劳动节 | |
本站网友 额头表情纹 | 3分钟前 发表 |
# 劳动节 | |
本站网友 鱼油什么时候吃 | 6分钟前 发表 |
周四 ] # 班:正常周末(周周五)上班日期 workdays_exception = [ '20200201' | |
本站网友 硼砂的作用 | 22分钟前 发表 |
分享自作者个人站点/博客 | |
本站网友 肝病的治疗 | 13分钟前 发表 |
9 | |
本站网友 百度新闻首页 | 4分钟前 发表 |
8 | |
本站网友 环境影响评价公众参与暂行办法 | 7分钟前 发表 |
# 新冠疫情国务院放假 '20200406' | |
本站网友 泰州人力 | 25分钟前 发表 |
print("是工作日") else | |
本站网友 沁和能源 | 6分钟前 发表 |
周五 '20200127' | |
本站网友 紧缩 | 11分钟前 发表 |
# 如:公司提前放假 '20200124' | |
本站网友 黄馨祥 | 25分钟前 发表 |
周三 '20200122' |