可通过四种方法判断指定日期是否为工作日:一、调用国家节假日API接口;二、加载本地节假日配置文件;三、使用chinese-calendar等第三方库;四、基于星期几硬编码判断(不考虑调休与法定假日)。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜
如果您需要通过CodeGeeX判断某个指定日期是否为工作日(即是否需要上班),则需结合中国法定节假日安排与每周周一至周五的常规工作日规则。以下是实现该判断的多种方法:
一、调用国家节假日API接口
该方法依赖外部权威节假日服务,可自动识别调休日、法定假日及补班日,覆盖国务院每年发布的放假安排。
1、使用Python调用如“timor Holidays API”或“China Holiday API”等公开接口,传入目标日期参数(格式为YYYY-MM-DD)。
2、解析返回的JSON数据,检查字段如
或
值是否标识为工作日(例如值为1或"workday")。
3、若接口返回
且
,则
该日期判定为需要上班
;若返回
且
包含“法定假日”或“调休休息”,则不上班。
二、加载本地节假日配置文件
该方法将国务院历年发布的节假日安排预先整理为JSON或CSV格式,由程序读取并匹配日期,避免网络依赖与实时性风险。
1、准备一个
文件,包含
(补班日列表)、
(放假起止日期数组)和
(永久排除的周末上班日)字段。
2、在CodeGeeX中编写Python函数,先判断目标日期是否为周六或周日;若是,则进一步查
列表是否存在该日期。
3、若日期不在
范围内、也不在
中、且非周末或属于
,则
返回True,表示需要上班
。
三、使用第三方Python库(如chinese-calendar)
该方法基于封装好的开源库,内置2004–2099年国务院节假日数据,支持单日查询与批量判断,调用简洁。
1、在Python环境中执行
安装依赖。
2、导入库后调用
函数,传入目标日期对象。
3、函数返回
时,表示
该日期为工作日,需正常上班
;返回
时,需结合
进一步区分是周末还是法定假日。
四、基于规则硬编码判断(基础版)
该方法仅依据星期几进行常规判断,不考虑调休与法定假日,适用于内部系统简易场景或测试基准。
1、将输入日期转换为
对象,并调用
方法获取星期索引(周一为0,周日为6)。
2、若返回值为0、1、2、3或4,则
默认视为工作日,需上班
;若为5或6,则视为周末,不上班。
3、注意:此方式
无法识别国庆调休后的周六上班情况
,仅作快速验证用途。
is_workdaytypestatus: successworkday: trueworkday: falsereasonholidays.jsonworkdaysholidaysexcludesworkdaysholidaysexcludesworkdayspip install chinese-calendaris_workday(datetime.date(YYYY, MM, DD))TrueFalseis_holiday()datetime.weekday()