节假日与调休 API
中国法定节假日、调休上班日查询,含下一个假期倒计时
数据来源:NateScarlet/holiday-cn(国务院办公厅通知)
返回统一的 JSON 格式 { code, message, cached, stale, updatedAt, data },支持跨域,免注册每天可免费调用 100 次,注册后每天 10000 次。
查询某天是否放假/上班及节日名
GET /api/holiday
请求参数
date:日期 YYYY-MM-DD,默认今天(北京时间),示例2026-10-01
返回字段
date(string):查询的日期,YYYY-MM-DD(北京时间的日历日)weekday(string):星期几,如 星期四isOffDay(boolean):当天是否休息:type 为 holiday 或 weekend 时为 trueisWorkday(boolean):当天是否要上班(与 isOffDay 相反):type 为 workday 或 normal 时为 truetype(string):日期类型,取值:holiday(法定节假日放假,含假期中的周末)、workday(调休上班日,通常是被调成上班的周末)、weekend(普通周末,休息)、normal(普通工作日,上班)name(string|null):所属节假日名称(如 春节、国庆节;两节连休时可能是 "国庆节、中秋节")。仅 type 为 holiday 或 workday 时有值,weekend、normal 为 nullnote(string):中文说明:holiday 为 "<节日>假期",workday 为 "<节日>调休上班",weekend 为 "周末",normal 为 "工作日"published(boolean):该年放假安排是否已有数据。为 false 时表示国务院尚未公布(或数据源暂无),type 只按周末/工作日推断,不包含法定假日与调休
下一个法定假期及倒计时天数
GET /api/holiday/next
请求参数
date:从哪天开始算,默认今天(北京时间),示例2026-09-24
返回字段
today(string):计算基准日期,YYYY-MM-DD(默认北京时间今天)current(object|null):基准日期正处于的假期;不在假期中时为 nullcurrent.name(string):假期名称,如 国庆节current.start(string):放假第一天,YYYY-MM-DDcurrent.end(string):放假最后一天,YYYY-MM-DDcurrent.days(number):连续放假天数(含假期中的周末)current.workdays(array):该节日对应的调休上班日(YYYY-MM-DD 字符串数组),没有调休时为空数组current.dayIndex(number):基准日期是本次假期的第几天(从 1 开始)next(object|null):基准日期之后最近开始的一个假期(开始日期晚于基准日期)。只在今年和明年的放假安排中查找,明年安排尚未公布且今年已没有假期时为 nullnext.name(string):假期名称,如 国庆节next.start(string):放假第一天,YYYY-MM-DDnext.end(string):放假最后一天,YYYY-MM-DDnext.days(number):连续放假天数(含假期中的周末)next.workdays(array):该节日对应的调休上班日(YYYY-MM-DD 字符串数组),没有调休时为空数组next.daysUntil(number):距离假期开始还有几天(放假第一天减基准日期)
某年全部放假安排与调休日
GET /api/holiday/year
请求参数
year:年份,默认今年,示例2026
返回字段
year(number):年份papers(array):国务院办公厅放假通知原文链接(字符串数组),来自 holiday-cn;使用内置数据或尚未公布时为空数组days(array):当年所有放假日与调休上班日,按日期升序;不含普通周末。尚未公布时为空数组days[].name(string):所属节假日名称,如 春节days[].date(string):日期,YYYY-MM-DDdays[].isOffDay(boolean):true 为放假,false 为调休上班source(string):数据来源:holiday-cn(从 NateScarlet/holiday-cn 获取)、builtin(上游不可用,使用内置的国务院安排)、none(该年安排尚未公布,days 与 periods 为空)periods(array):按连续日期合并后的假期段,按时间先后排列periods[].name(string):假期名称,如 国庆节periods[].start(string):放假第一天,YYYY-MM-DDperiods[].end(string):放假最后一天,YYYY-MM-DDperiods[].days(number):连续放假天数(含假期中的周末)periods[].workdays(array):该节日对应的调休上班日(YYYY-MM-DD 字符串数组),没有调休时为空数组