中国法定节假日 免费API

1,529次阅读
没有评论

中国法定节假日 免费API 地址:https://holiday.ailcc.com

说明

  1. 这是由本人用业余时间开发的基于ThinkPHP 8的中国法定节假日API,免费提供给同样需要的人。

  2. 节假日信息我会尽快更新,如果发现某个节假日配置错误或没有配置,请联系我的QQ或留言反馈。

  3. 有其它需求也可以联系我,付费定制,预付款70%,价格可商议。

  4. 网站永久维护更新,放心使用,但请别乱用,带宽有限,请谅解。

联系方式

QQ:66257875

邮箱:Jack.Liu@ailcc.com (PS:邮箱联系更快)

常见问题

  1. 节假日 api 现已支持 HTTPS 调用,不支持HTTP调用,必须是HTTPS。

  2. 网站使用白名单加访问IP进行访问限制,域名或IP未在白名单中的,接口每分钟仅允许查询31次,24小时最多可查询14400次(所有接口的总计查询次数)。

  3. 注册用户或白名单域名、IP不受访问次数的限制。

限额说明及规则

  1. 以下限额都是按照每个用户的域名或IP统计的,注册用户最多允许2个域名。

  2. 免费用户所有接口限额时间为 24 小时,每天凌晨00:01重置状态。

  3. 免费用户节假日 API 接口24小时内总计限额为 14400次/IP,每分钟限制31次。

  4. 如果限额太少不够用,可以发邮件说明情况,确定如为合理需求,可以提高额度。

  5. 免费用户限额目的是为了大家都能平均分配,保证访问速度。

  6. 免费用户限额的对象是针对IP,并不是所有用户共享。

  7. 免费用户如果是小区共享同一出口宽带,则可能会和其它人共享限额。

  8. 免费用户如果达到限制,可以手动重启自家光猫,重启后会变更公网IP,侧可享受新一轮的14400次查询(一般不建议,出现任何问题与本站无关)。

API接口说明文档

获取指定日期的节假日信息 – info

接口地址:GET https://holiday.ailcc.com/api/holiday/info/$date

@params $date: 指定日期的字符串,格式 ‘2018-02-23’。可以省略,则默认服务器的当前时间。

@return json: 如果不是节假日或周末,holiday字段为null。

{
  "code": 0,                    // 0服务正常。-1服务出错
  "type": { 
    "type": enum(0, 1, 2, 3,4),  // 节假日类型,分别表示 工作日、周末、节日、调休放假、补班。
    "name": "国庆节(休)",       // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
    "week": 3                   // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
  },
  "holiday": {
    "holiday": true,            // true表示是节假日,false表示是调休。
    "name": "国庆节(休)",       // 节假日的中文名。如果是调休,则是调休的中文名,例如“国庆节(休)”。
    "wage": 3,                  // 薪资倍数,1表示是1倍工资,该数据不再详细维护。
    "date": "2025-10-01",       // 查询的时间参数。
    "after": null,              // 只在调休或补班下有该字段。1表示假后调休或补班,0表示假前调休或补班,否则为null。
    "target": "国庆节",          // 只在调休下有该字段。表示调休的节假日,否则为null。
    "rest": 39
  }
}

示例:

https://holiday.ailcc.com/api/holiday/info/2025-10-01

https://holiday.ailcc.com/api/holiday/info/2025-10-1

批量查询指定日期节假日信息 – batch

接口地址:GET https://holiday.ailcc.com/api/holiday/batch?d=$date&type=Y

@params d:指定日期的字符串,多个日期之间使用且只能使用英文逗号“,”连接。最大长度查询个数50,格式 ‘2025-10-01’。

@params type: 是否返回日期类型,默认不返回。可选值:’Y’ 返回,’N’ 不返回。

@return json: 返回以日期为key的对象。

{
  "code": 0,                        // 0服务正常。-1服务出错
  "holiday": {                      // 传过来的日期是什么,key就是什么。传多少个就有多少个。
    "2025-09-29": null,             // 如果不是节假日,则为null
    "2025-10-08": {                 // holiday的值都是一致的
      "holiday": true,
      "name": "国庆节(休)",
      "wage": 1,
      "date": "2025-10-08",
      "rest": 32
    }
  },
  "type": {                         // 只有明确指定参数 type=Y 时才返回类型信息
    "2025-09-29": {                 // 一一对应holiday对象的key,holiday有多少个这里就有多少个
      "type": enum(0, 1, 2, 3,4),  // 节假日类型,分别表示 工作日、周末、节日、调休放假、补班。
      "name": "周一",               // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
      "week": 1                     // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
    },
    "2025-10-08": {
      "type": 2,
      "name": "国庆节(休)",
      "week": 3
    }
  }
}

示例:

https://holiday.ailcc.com/api/holiday/batch?d=2025-9-9

https://holiday.ailcc.com/api/holiday/batch?d=2025-9-9,2025-10-08,2025-03-1&type=Y

获取指定日期的下一个节假日(如果在放假前有调休,也会返回)- next

接口地址:GET https://holiday.ailcc.com/api/holiday/next/$date?type=Y&week=Y

@params $date:指定日期的字符串,格式“2025-09-27”,日期可以省略,则默认服务器的当前时间。

@params type:是否返回日期类型,默认不返回。可选值:’Y’ 返回,’N’ 不返回。

@return week:节假日是否包含周末,默认不包含。可选值:’Y’ 包含周末,’N’ 不包含。

@return json:返回指定日期的下一个最近的节假日,如果在放假之前要调休,则会一起返回调休的信息。如果包含周末,则节日和周末冲突时,以节日为优先级。 比如特殊情况:周六是调休,则holiday返回周日,workday返回周六。其它情况以此类推,holiday永远会返回下一个节日。

{
  "code": 0,                            // 0服务正常。-1服务出错。
  "holiday": {
    "holiday": true,                    // 该字段一定为true。
    "name": "国庆节",                   // 节假日的中文名。
    "wage": 3,                          // 薪资倍数,3表示是3倍工资,该字段不在详细维护。
    "date": "2025-10-01",               // 节假日的日期。
    "rest": 4                           // 表示当前时间距离目标还有多少天。比如今天是 2018-09-28,距离 2018-10-01 还有3天。
  },
  "workday": {                          // 如果节假日前没调休,则此字段为null。
    "holiday": false,                   // 此字段一定为false。
    "name": "国庆节前补班",             // 调休的中文名。
    "after": null,                      // 只在调休或补班下有该字段,1表示假后调休或补班,0表示假前调休或补班,否则为null。
    "wage": 1,                          // 薪资倍数,3表示是3倍工资,该字段不在详细维护。
    "target": "国庆节",                 // 表示调休的节假日。
    "date": "2025-09-28",               // 表示要调休的日期。
    "rest": 1                           // 同上。表示当前时间距离目标还有多少天。
  },
  "type": {                             // 只有明确指定参数 type=Y 时才返回类型信息。
    "holiday": {                        // 对应 holiday 中的日期类型,只有返回 holiday 信息时才存在此日期类型。
      "type": enum(0, 1, 2, 3,4),      // 节假日类型,分别表示 工作日、周末、节日、调休放假、补班。
      "name": "国庆节",                 // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
      "week": enum(1 - 7)               // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
    },
    "workday": {                        // 对应 workday 中的日期类型,只有返回 workday 信息时才存在此日期类型
      "type": enum(0, 1, 2, 3,4),      // 节假日类型,分别表示 工作日、周末、节日、调休放假、补班。
      "name": "国庆节前补班",           // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
      "week": 7                         // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
    }
  }
}

示例:

https://holiday.ailcc.com/api/holiday/next/2025-9-9

https://holiday.ailcc.com/api/holiday/next/2025-09-27?type=Y&week=Y

https://holiday.ailcc.com/api/holiday/next/

获取指定日期的下一个工作日(工作日包含正常工作日、调休)不包含当天 – nextWorkday

接口地址:GET https://holiday.ailcc.com/api/nextWorkday/$date

@params $date: 指定日期的字符串,格式“2025-10-01”,时间可以省略,则默认服务器的当前时间。

@return json: 返回指定日期的下一个最近的工作日,工作日包含正常工作日、调休,不包含当天。

{
  "code": 0,                            // 0服务正常。-1服务出错
  "workday": {                          // 如果没有查找到最近的工作日,则此字段为null。最大查找长度为30
    "type": enum(0, 1, 2, 3,4),        // 节假日类型,分别表示 工作日、周末、节日、调休放假、补班。
    "name": "工作日",                   // 工作日类型中文名,可能值为 周一 至 周五、某某调休。
    "week": 4,                          // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
    "date": "2025-10-09",               // 表示要工作的日期。
    "rest": 8                           // 同上。表示当前时间距离目标还有多少天。
  }
}

示例:

https://holiday.ailcc.com/api/holiday/nextWorkday/2025-10-01

https://holiday.ailcc.com/api/holiday/nextWorkday/

https://holiday.ailcc.com/api/holiday/nextWorkday/2025-10-1

获取指定年份或年月份的所有节假日信息 – year

接口地址:GET https://holiday.ailcc.com/api/holiday/year/$date

@params $date:指定年份或年月份,格式“2025-10”,“2025-9” 或者“2025”。可以省略,则默认服务器当前时间的年份。

@return type:是否返回日期类型,默认不返回。可选值:’Y’ 返回,’N’ 不返回。

@params week:节假日是否包含周末,默认不包含。可选值:’Y’ 包含周末,’N’ 不包含。

@return json:返回指定年份或年月份的所有节假日,以日期作为key,格式:mm-dd。如果没有该年份或月份,则返回空对象,只返回节假日,不返回任何补班。

{
  "code": 0,                                // 0服务正常。-1服务出错
  "holiday": {
    "10-01": {
      "holiday": true,                      // 该字段一定为true
      "name": "国庆节(休)",               // 节假日的中文名。
      "wage": 3,                            // 薪资倍数,3表示是3倍工资,该字段不在详细维护。
      "date": "2025-10-01",                 // 节假日的日期
      "rest": 39
    },
    "10-02": {
      "holiday": true,
      "name": "国庆节(休)",
      "wage": 3,
      "date": "2025-10-02",
      "rest": 38
    }
  }
  "type": {                                 // 只有明确指定参数 type=Y 时才返回类型信息
    "2025-10-01": {                         // 一一对应holiday对象的key,holiday有多少个这里就有多少个
      "type": enum(0, 1, 2, 3,4),          // 节假日类型,分别表示 工作日、周末、节日、调休放假、补班。
      "name": "国庆节(休)",               // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
      "week": enum(1 - 7)                   // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
    },
    "2025-10-02": {
      "type": 2,
      "name": "国庆节(休)",
      "week": 4
    },
    "2025-10-03": {
      "type": 2,
      "name": "国庆节(休)",
      "week": 5
    },
  }
}

示例:

https://holiday.ailcc.com/api/holiday/year/

https://holiday.ailcc.com/api/holiday/year/2025

https://holiday.ailcc.com/api/holiday/year/2025-10?type=Y&week=Y

正文完
微信扫码打开小程序体验更多功能
post-qrcode
 8
沛霖主页
版权声明:本站原创文章,由 沛霖主页 2025-11-23发表,共计5388字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)