今天介绍一个开源项目:holiday-calendar,这是一个标准化的节假日数据集和工具库,可以帮助开发者轻松处理法定假日和调休安排。

使用方式

  • npm 包安装

npm install holiday-calendar
  • CDN 直接使用
<script src="https://unpkg.com/holiday-calendar/src/index.min.js"></script>
  • 直接访问 JSON 数据
https://unpkg.com/holiday-calendar/data/CN/2025.json

获取所有假日

// 导入包
const HolidayCalendar = require('holiday-calendar');

// 创建实例
const calendar = new HolidayCalendar();

// 获取指定年份的所有法定假期相关日期(包含法定节假日、调休工作日)
calendar.getDates('CN', 2025).then(dates => {
  console.log('2025年法定假期相关日期:', dates);
});

// 判断是否为工作日,工作日包括 1)非法定节假日的周一至周五,2)调班的周末
calendar.isWorkday('CN', '2025-01-01').then(isWorkday => {
  console.log('是否为工作日:', isWorkday); // false (元旦节假日)
});

// 判断是否为假期,假期包括 1)法定节假日,2)非调班的周末
calendar.isHoliday('CN', '2025-01-26').then(isHoliday => {
  console.log('是否为假期:', isHoliday); // false (春节调休工作日)
});

数据格式展示

数据采用标准的 JSON 格式:

{
  "year": 2025,
  "region": "CN",
  "dates": [
    {
      "date": "2025-01-01",
      "name": "New Year's Day",
      "name_cn": "元旦",
      "name_en": "New Year's Day",
      "type": "public_holiday"
    }
  ]
}

日期类型

  • public_holiday:法定节假日

  • transfer_workday:调休工作日(因节假日调整而需要补班的日期)

项目链接

项目完全开源:

数据来源

如果有任何问题或建议,欢迎在评论区讨论!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐