节假日提醒,节假日任务,节假日判断如何做?这篇文章教会你!

news2024/11/29 16:38:01

你是否有这样的需求,有一个任务需要在大家都休息的时候处理,你肯定会想到周六周日了,那不好意思,遇到调休怎么办呢?遇到国假怎么办呢?我这里所说的节假日和工作日不仅仅指正常的周一至周日,还包括国家法定假日和调休日,即 工作日休息和周末上班

如上图所示,其实,总结下来,我们只需要关注 2 类日子即可:

  1. 周六周日需要调休(上班)的日子,如上图的 14 和 29

  2. 周一至周五需要休息的日子,如上图的 16,17,1-4

那这个日子一般在哪里知道呢?某度搜了一下“节假日api”,还是找到几个的,至于能不能用,是否准确,SLA可用度如何,还有待进一步考察,继续往下看,我们尽可能让问题能可靠的解决。

手动维护

其实,我们手动维护也是可以的,就是得有人手人力来关注国家发布的假日安排计划,这个假日安排在哪里呢?每个节日来临前肯定会收到各种推送的,另外一个比较全的是政府每年发布的调休计划表,如 23 年底发布的:

国务院办公厅关于2024年部分节假日安排的通知_其他_中国政府网

这个公告其实前一年的 10 月份大概就会发出来,这个内容是比较权威的吧,一般不会改(特殊情况也会有的,不用考虑),但是这个内容不太容易给一般的程序使用,不太好解析,当然我们人为看还是可以看明白的,手动维护一下每年的特殊节假日及调休表即可(正常的工作日和周末不需要处理)。

可以设计一张只有 2 个字段就够的表来存储它们:

  • day, 日期,如 20241001

  • status, 状态,如 1 表示工作日需要休息,2 表示周末需要上班

放心,不会太多,每年也就 30 条数据而已,如我之前做的手动维护的。

手动当然是 OK 的,但是万一忘记了咋办呢?定闹铃?每天发提醒?反正想办法让自己别忘了就行。

那万一离职了呢?别人忘记了呢?总归手动的不太靠谱哟!

AI 解析

国家发布的内容虽说比较好理解,但是程序不太好解析,不过在当下 AI 时代,丢给 AI 就可以了,我试了一下, kimi 解析的没问题。

kimi 的回答:

根据您提供的内容,以下是2024年的放假日期和调休日期的梳理:

元旦:
2024-01-01: 放假

春节:
2024-02-10: 放假
2024-02-11: 放假
2024-02-12: 放假
2024-02-13: 放假
2024-02-14: 放假
2024-02-15: 放假
2024-02-16: 放假
2024-02-17: 放假
2024-02-04: 调休
2024-02-18: 调休

清明节:
2024-04-04: 放假
2024-04-05: 放假
2024-04-06: 放假
2024-04-07: 调休

劳动节:
2024-05-01: 放假
2024-05-02: 放假
2024-05-03: 放假
2024-05-04: 放假
2024-05-05: 放假
2024-04-28: 调休
2024-05-11: 调休

端午节:
2024-06-10: 放假

中秋节:
2024-09-15: 放假
2024-09-16: 放假
2024-09-17: 放假
2024-09-14: 调休

国庆节:
2024-10-01: 放假
2024-10-02: 放假
2024-10-03: 放假
2024-10-04: 放假
2024-10-05: 放假
2024-10-06: 放假
2024-10-07: 放假
2024-09-29: 调休
2024-10-12: 调休

继续让其帮我转化为 json 格式

现在 AI 的解析理解能力还是不错的哈,当然,你不可能通过人为对话的方式获取解析的数据了,虽说也不是不行,但不还是人为的吗?AI 工具都提供有 API 可供调用,你可以尝试通过 API 的方式去发送数据,让其解析。

至于 API 怎么调,本文先不做探究了,后续再分享出来。

补充个额外话题:大家如果对 AI 感兴趣的话,可以来我加入的 AI 社群一起探索 AI 能力,说不定可以发掘人生的新赛道(根据个人需求进哈,毕竟也不便宜,还在涨价中……)

开源实现

我们继续探~ 这个需求肯定是普遍的,看看有没有开源的吧,那去全球最大的同性交流社区 GitHub 搜一下吧!直接搜索 holiday

还是不少的!我们自己来甄别一下吧~ 挑一下靠谱的,也可以多找几个,做一下容灾处理,因为每年的数据只需要保存一次即可,也可以将别人的自动。

选了一个感觉还算靠谱的,分享一下吧,大家可以看一下它的源码,看看别人是怎么实现的。

https://github.com/NateScarlet/holiday-cn

这个怎么使用呢?数据是更新到 GitHub 仓库里的,可以通过获取 json 数据转存到自己的系统里使用以达到高可用或离线的效果,另外这个项目也可以直接部署到自己的集群机器中,自己维护。

获取数据的方式有多种:

1,通过 github 地址获取

https://raw.githubusercontent.com/NateScarlet/holiday-cn/master/{年份}.json

eg:

https://raw.githubusercontent.com/NateScarlet/holiday-cn/master/2024.json

2,使用 JSDelivr

https://cdn.jsdelivr.net/gh/NateScarlet/holiday-cn@master/{年份}.json

eg:

https://cdn.jsdelivr.net/gh/NateScarlet/holiday-cn@master/2024.json

3,可尝试使用 ghproxy 或其他 Github 加速

https://{ghproxy服务}/https://raw.githubusercontent.com/NateScarlet/holiday-cn/master/{年份}.json

eg:

https://ghproxy.net/https://raw.githubusercontent.com/NateScarlet/holiday-cn/master/2024.json

4,将项目部署到自己的机器上

此项目的原理也比较简单,就是去定期抓取政府发布的文件,解析成标准的格式。

商业实现

我们当然不想使用付费的了,能省钱谁不愿意呢?不过有时候为了省事,我们还是会选择付费的模式的,我们了解一下别人怎么把一个东西做成收费的,也算开阔自己的视野吧。

市面上有很多提供这种工具辅助的 API 的网站,如快递查询,身份证信息查询,天气预报查询,有很多免费的资源,你把它进行整合整合,就可以发布给企业付费使用,或者免费提供当做引流方式也是不错的选择。

我搜到了这个 showapi 网站,上面刚好提供了,我们来看一眼吧。

这个我就不展开说了,点到为止吧,通过接口调用,然后把数据存起来就好了,或者每次用的时候来调一下也可以。

总结

本文由一个简单的需求【节假日判断】出发,探索了如何去根据一个需求去解决需求,并思考如何保障高可用,如何省钱,以及这个小需求是不是也能够实现商业变现的可能性,希望对大家有所帮助。

最后说一下我的选择吧,我是选择了使用 github 的开源实现,通过调用上面提到的获取数据方式中的 1-3 网址,为了增加容灾能力,会调 3 次,只要调成功一次即可跳出后续,调取成功后,将其存入自己的系统,并发出提醒,以便人工核查。

END

好了,今天的分享就到这里,欢迎到我的个人站点 huangyanxiang.com 或者 个人公&号:新质程序猿 查看更多内容。

感谢大家的阅读,如果有任何异议的地方,欢迎指正,一起交流!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2206125.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浙江省发规院产业发展研究所调研组莅临迪捷软件考察调研

2024年10月10日下午,浙江省发展与规划院产业发展研究所调研组一行莅临迪捷软件考察调研,绍兴市府办、区发改、区经信、迪荡街道等相关领导陪同。 调研组一行参观了迪捷软件的展厅与办公区,深入了解了迪捷软件的公司发展历程、运营状况、产品…

Python 如何使用 Bert 进行中文情感分析

前言 在自然语言处理(NLP)领域,情感分析是一个非常常见且重要的应用。情感分析通常用于识别文本中的情感,例如判断一条微博或评论是正面、负面还是中性。在过去的几年中,随着深度学习的发展,BERT&#xff…

MySQL表的基本操作和数据类型

MySQL表的基本操作和数据类型 表的操作创建表修改表删除表 数据类型数值类型整型浮点型 文本、二进制类型日期时间类型ENUM类型和SET类型 表的操作 创建表 语法: CREATE TABLE table_name(field1 datatype,field2 datatype,field3 datatype )character set 字符集…

Python的matplotlib可视化工具基本操作(数据分析生成图表)

一、安装导入 1、使用包管理器安装matplotlib pip3 install matplotlib 2、导入plt工具 import matplotlib.pyplot as plt 二、基本函数 1、创建图表 使用pyplot工具打点调用创建图表函数 例如创建直方图: import matplotlib.pyplot as plt import pandas…

【unity框架开发9】序列化字典,场景,vector,color,Quaternion

文章目录 前言一、可序列化字典类普通字典简单的使用可序列化字典简单的使用 二、序列化场景三、序列化vector四、序列化color五、序列化旋转Quaternion完结 前言 自定义序列化的主要原因: 可读性:使数据结构更清晰,便于理解和维护。优化 I…

Android Framework默认授予app通知使用权限

安卓通知使用权限 在安卓系统中,应用程序需要获取通知使用权限才能向用户发送通知。以下是关于安卓通知使用权限的一些信息: 权限获取方式 当用户安装应用时,系统可能会在安装过程中提示用户授予应用通知权限。用户可以选择允许或拒绝。 应…

记录一些yolo-world训练数据集的报错

参考的这个文章 https://blog.csdn.net/ITdaka/article/details/138863017?spm1001.2014.3001.5501 openai快捷下载:https://download.csdn.net/download/qq_43767886/89876720 然后我打算训练coco数据集,遇到了以下的问题 问题一 原因:…

智慧农田新篇章:高标准农田灌区信息化的创新实践

在新时代的农业发展蓝图中,智慧农田已成为推动农业现代化、实现可持续发展目标的关键一环。高标准农田灌区信息化作为智慧农业的重要组成部分,正引领着一场深刻的农业技术革命,它不仅关乎粮食安全与资源高效利用,还深刻影响着农村…

writehelpAI论文写作,专业毕业论文救星

撰写专业毕业论文是每位学生学术旅程中的一个重要里程碑,它不仅检验了你对专业知识的掌握程度,还考验着研究能力、批判性思维以及书面表达技巧。在这个过程中,writehelpAI这样的智能写作助手可以成为你的得力伙伴,帮助解决从选题到…

功率检测和语音功能

INA226 INA226 High-Side or Low-Side Measurement, Bi-Directional Current and Power Monitor with I2C Compatible Interface datasheet (Rev. A) INA226功率监测模块原理 7.5 编程 INA226 器件的一个重要方面是它不一定测量电流或功率。该器件可测量施加在 IN 和 IN- 输入…

数据结构重点学习笔记教程——入门必看 数据结构心得

数据结构教程知识点 章节目录 一、数据结构概述二、线性表三、栈与队列四、数组与字符串五、树与二叉树六、图七、排序算法八、查找算法九、哈希表与散列法十、高级数据结构 总结简介 本数据结构教程知识点涵盖了从数据结构概述到高级数据结构的全方位内容,旨在帮…

河南省学籍管理员在校拍照采集学生证件照流程介绍

校园证件照采集是校园管理中一个重要的环节,它涉及为学生、教职工等校园成员拍摄并处理符合特定要求的证件照片。以下是针对河南省中小学生学籍照片集中拍摄采集的步骤指南,用于指导学籍管理员开展相关工作。 一、学籍照片采集的前期准备 (1…

Java读取Excel文件_详细可执行_低内存占用

EasyExcel介绍:高效内存友好Java Excel处理工具,轻松应对大文件 EasyExcel是一个基于Java的、快速且简洁的Excel处理工具,专为解决大文件内存溢出问题设计。与传统的Excel处理框架如Apache POI和jxl相比,它显著降低了内存消耗。例…

linuxC高级_day5(完结)

目录 指针函数 1.概念 2.定义格式 3.函数内开辟空间 函数指针 1.概念 2.定义格式 2.1 格式 3.函数指针数组 3.1 概念 3.2 格式 3.3 赋值 条件编译 1.根据宏是否定义 根据宏值 3.防止头文件重复包含 指针函数 1.概念 本质是函数,函数返回值是指针。类…

C++系统教程004-数据类型(03)

一 .变量 变量是指在程序运行期间其值可以发生改变的量。每个变量都必须有一个名称作为唯一的标识,且具有一个特定的数据类型。变量使用之前,一定要先进行声明或定义。 1.变量的声明和定义 C中,变量声明是指为变量提供一个名称&#xff0c…

鸢尾花书实践和知识记录[6-23数据聚类]

文章目录 思维导图数据聚类和引例基于图论的聚类算法算法流程1构造数据构造距离矩阵相似度相似度矩阵创建图 拉普拉斯矩阵标准拉普拉斯矩阵(Combinatorial Laplacian)归一化拉普拉斯矩阵 (Normalized Laplacian)无标度拉普拉斯矩阵 (Signless Laplacian)归一化对称拉普拉斯矩阵…

这么好看的桌面时钟 怎么能不分享给大家

最近小编发现了非常好用的桌面时钟。桌面时钟顾名思义就是可以放在桌面上的时钟,这是一款界面优美,功能实用,易于操作的桌面时钟工具芝麻时钟(下载地址:https://clock.zhimasoft.cn/)。 1、首先来看下这些时钟的效果,…

Ping32企业加密软件:保护数据安全

在数字化时代,数据安全已成为每个企业不可忽视的重要课题。无论是客户信息、财务报表,还是商业机密,数据的安全性直接关系到企业的声誉与运营。为了应对不断变化的安全威胁,选择一款可靠的企业加密软件尤为重要。在这里&#xff0…

MFC的.rc 和.rc2文件【常见问题】

目录 一、介绍 .rc 文件 .rc2 文件 使用上的建议 二、实例 工程截图 rc文件 rc2文件 注意: 三、使用 能否删除? 一、介绍 在MFC项目中,.rc和.rc2文件都是资源脚本文件,但它们有不同的用途和管理方式。它们两指向的是同…

VS2022使用技巧

目录 如何打开资源管理器如何打开监视窗口 如何打开资源管理器 如何打开监视窗口 前提:必须先按f10 开始调试起来了