对于开发者和普通用户而言,获取准确、实时的中国节假日、调休、工作日以及农历等信息,一直是个痛点。传统的查询方式往往繁琐且不及时,尤其在面对频繁的节假日调整时。今天,我将向大家隆重推荐一个高效且优雅的开源项目——chinese-days,它将彻底改变你管理中国日历信息的方式!
chinese-days 不仅提供了一系列强大的函数用于查询中国法定节假日、调休日、工作日、24节气,以及农历阳历互转,更通过 JSON 文件和 iCal 日历订阅 的方式,为开发者和普通用户带来了前所未有的便利。
核心功能一览
查询中国法定节假日与调休
项目涵盖了从 2004年到2026年 的中国法定节假日数据,包括各种复杂的调休安排,甚至细致到 2020年春节延长 这样的特殊情况。无论是计算工作日,还是规划假期,都能得到精确无误的结果。
精准识别工作日
除了节假日,chinese-days 还能准确识别哪些日期是法定工作日,哪些是因调休而需要上班的周末,这对于开发排班系统或日程管理应用至关重要。
二十四节气与农历转换
对中华传统文化感兴趣的开发者们有福了!chinese-days 支持 1900年至2100年 的二十四节气查询,同时提供农历与阳历之间的双向精确转换功能,极大地扩展了项目的应用场景。
项目亮点与优势
多样化的数据获取方式
-
JSON 数据接口:对于需要将数据集成到后端服务或前端应用的开发者,chinese-days 提供结构化的 JSON 数据文件。你无需部署任何服务,只需通过简单的 HTTP 请求即可获取最新数据。
-
iCal 日历订阅:对于非开发者或习惯使用日历应用的用户,chinese-days 更是提供了 iCal 格式的日历订阅服务。只需将订阅链接添加到你常用的日历客户端(如 Google Calendar、Apple Calendar、Microsoft Outlook 等),即可自动同步节假日安排,一劳永逸。
数据权威与自动化更新
-
数据来源与覆盖范围:项目数据严格遵循国务院办公厅发布的节假日安排。每日通过 自动化 GitHub Action 抓取最新数据,确保信息的及时性和权威性。
-
智能自动化流程:chinese-days 内置了先进的 AI 自动更新机制。当节假日配置发生变化时,系统会自动生成 Pull Request (PR) 并发送邮件提醒项目维护者进行审核,极大地提高了数据维护的效率和准确性。
如何开始使用
开发者:JSON 数据接口
项目提供了完整的 JSON 数据文件和按年份划分的 JSON 文件,方便你灵活引用:
-
全量中国节假日 JSON 文件:
https://cdn.jsdelivr.net/npm/chinese-days/dist/chinese-days.json
-
按年份查询(以2025年为例):
https://cdn.jsdelivr.net/npm/chinese-days/dist/years/2025.json
支持查询 2004年及之后 的年份数据。
- 非 JS/TS 语言集成:即使你的项目不是基于 JavaScript 或 TypeScript 开发,也能轻松利用这些 JSON 数据。例如,Java 开发者可以参考Warnier-zhang/java-chinese-days项目,快速集成节假日、调休和工作日查询功能。
普通用户:iCal 日历订阅
只需将以下链接添加到你的日历客户端(如 Google Calendar、Apple Calendar、Microsoft Outlook 等)即可,订阅日历包含近三年的节假日和调休日:
-
标准节假日日历(含调休):
https://cdn.jsdelivr.net/npm/chinese-days/dist/holidays.ics
-
英文版日历订阅:
https://cdn.jsdelivr.net/npm/chinese-days/dist/holidays.en.ics
-
按年份订阅(以2025年为例):
https://cdn.jsdelivr.net/npm/chinese-days/dist/years/2025.ics
同时提供英文版本:
https://cdn.jsdelivr.net/npm/chinese-days/dist/years/2025.en.ics
支持订阅 2004年及之后 的年份。
贡献与致谢
贡献代码
这是一个活跃的开源项目,非常欢迎开发者社区的参与。如果你有兴趣改进项目,可以通过以下方式贡献代码:
- Fork 并克隆项目到本地。
- 修改节假日定义或农历定义。
- 提交其他功能改进或 Bug 修复。
- 提交 Pull Request (PR) 到主仓库。
项目致谢
chinese-days 项目的成功离不开众多优秀开源项目的启发与支持:
- 农历数据:Bigkoo/Android-PickerView
- 中国节假日数据生成参考:Python 版本的 LKI/chinese-calendar 项目
- 特别感谢阮一峰大佬的推荐
结语
无论是需要精确计算日期的应用程序,还是只想轻松掌握未来节假日安排的普通用户,chinese-days 都能提供强大而便捷的支持。它将你从繁琐的日期查询工作中解放出来,让你有更多精力专注于真正重要的事情。
立即体验,让日期管理变得前所未有的简单!
🔗 参考资料
- https://github.com/vsme/chinese-days
- https://chinese-days.yaavi.me
评论区