# 自动获取中国法定节假日_传递日期自动判断 **Repository Path**: jaesoon/legal ## Basic Information - **Project Name**: 自动获取中国法定节假日_传递日期自动判断 - **Description**: 1 自动获取法定节假日 项目体积小全程代码逻辑不超过1kb 性能高 1ms响应 2 自动获取法定加班(调休)日 3 已封装为接口 传递格式:2022-10-01 或 2022-1-1 或 时间戳 1664553600 会自动判断是否为节假日 法定加班日 休息日等 4 智能化 自动会进行获取最新的法定节假日 一年执行一次命令 npm run genurl (如果需要的话 也可以弄成 自动判断) - **Primary Language**: JavaScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-03-15 - **Last Updated**: 2023-03-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 自动获取法定节假日—法定工作日-休息日等 > 通过爬取 http://www.gov.cn/fuwu/2021-10/25/content_5644875.htm (动态变化)获取节假日 ### 优势: + 全部代码逻辑不超过1kb 性能高 1ms响应 + 自动获取法定加班(调休)日 + 已封装为接口 传递格式:2022-10-01 或 2022-1-1 或 时间戳 1664553600 会自动判断是否为节假日 法定加班日 休息日等 + 没有采取高大上的任何数据存储 直接json和 js代码实现 全程逻辑简单易懂 方便直接复制进行二开 ### 视频教程 + B站 访问: [https://www.bilibili.com/video/BV1wd4y127zB/](https://www.bilibili.com/video/BV1wd4y127zB/) ### 文档如下:需要跑到项目目录下 + 安装扩展: `npm i ` + 生成json (可忽略此步 代码内会自动进行判断生成) `npm run gen` + 运行 `npm run dev` + 访问: [http://127.0.0.1:5200/legra](http://127.0.0.1:5200/legra) *如果是在服务器运行 注意ip需要改* + 例2:带日期格式的 [http://127.0.0.1:5200/legra?date=2022-10-01](http://127.0.0.1:5200/legra?date=2022-10-01) + 例3:带时间戳的 [http://127.0.0.1:5200/legra?date=1664553600](http://127.0.0.1:5200/legra?date=1664553600) + 如果不想每年都自己去找法定节假日的url链接 那么直接运行命令(会自动更新.env文件的url查询地址): `npm run genurl` ``` # 自动更新 需要查询的url地址 (建议先把/service/LEGAL_CONFIG.JSON 文件先删除掉) npm run genurl # 执行后的信息如下: 生成配置网址中...2022/10/19 下午11:56:48 匹配最新的法定节假日公告url 4ms 生成最新的法定节假日公告url成功: http://www.gov.cn/fuwu/2021-10/25/content_5644875.htm 写入到.env配置文件成功 ``` ### 接口返回参数注释如下: ```javascript { "legalDay":1, // 1表示 节假日 0 表示非节假日 "legalWorkDay":0, // 1 表示 需要加班(调休的)工作日 例:国庆节后的2022-10-08 2022-10-09 加班 "restDay":1, // 1表示休息日 会优先在节假日 再判断 是否加班的调休工作日 最后判断 周六和周日 "dateStr":"2022-10-01" // 转换后的日期格式 不传date 就是今天 如果传时间戳也会转换成 日期格式: yyyy-mm-dd } ``` ### 线上免费白嫖接口(已做跨域处理 前端可以直接请求):如果要白嫖请求 请给我点个赞吧 后续会出更多实用的项目 ``` 例1(直接访问 默认是判断当天): https://api.zengye.top/legra 例2(带日期格式的): https://api.zengye.top/legra?date=2022-10-01 例2(带时间戳的): https://api.zengye.top/legra?date=1664553600 ``` ### 提示 + 如需在其他项目内使用 建议直接把 legal.js复制过去即可 如需要更加简洁: 复制 legal.js 中的函数 checkDateStr 即可 ### 使用教程 如图:![](./docs/remark.png)