JS——判断节假日(假日包括周末,不包括调休上班的周末)

思路:创建两个数组,数组1为节假日数组,数组2为是周末上班日期数组。如果当前日期(或某日期)同时满足2个条件(1.在节假日数组内或在周末。2.不在周末上班日期数组)即为节假日,否则即为非假日。

注意:两个数组日期为2024-4-4(而不是2024-04-04),因为curdate.getMonth()和curdate.getDate()返回的是4,而不是04。

//节假日数组
var holidays = ['2024-4-4', //清明'2024-4-5', //清明'2024-4-6', //清明'2024-5-1', // 劳动节'2024-5-2', // 劳动节'2024-5-3', // 劳动节'2024-5-4', // 劳动节'2024-5-5', // 劳动节'2024-6-8', // 端午节'2024-6-9', // 端午节'2024-6-10', // 端午节'2024-9-15', // 中秋节'2024-9-16', // 中秋节'2024-9-17', // 中秋节'2024-10-1', // 国庆节'2024-10-2', // 国庆节'2024-10-3', // 国庆节'2024-10-4', // 国庆节'2024-10-5', // 国庆节'2024-10-6', // 国庆节'2024-10-7', // 国庆节'2023-12-31'  // 元旦
];
//周末上班日期数组
var nWeekend = ['2024-4-7', //清明调整'2024-4-28', //五一调整'2024-5-11', //五一调整'2024-9-14', //中秋调整'2024-9-29', //国庆调整'2024-10-12', //国庆调整
];var curdate = new Date();
curdate.setTime(curdate.getTime() + 4 * 24 * 60 * 60 * 1000); // 1即明天,2即后天
var year = curdate.getFullYear();
var month = curdate.getMonth()+1 ;//getMonth()+1为当前月份
var date = curdate.getDate();
var formattedDate = year + "-" + month + "-" + date;//该日期同时满足2个条件即为节假日:1.在节假日数组内或在周末. 2.不在周末上班日期数组
if((holidays.indexOf(formattedDate)>=0 || (curdate.getDay()==0 || curdate.getDay()==6)) && nWeekend.indexOf(formattedDate)<0){console.log(formattedDate+':'+'节假日');
}else{console.log(formattedDate+':'+'非节假日');
}

 如下,当前日期2024-4-3:非节假日。

 如下,当前日期加1为2024-4-4:节假日(清明节)。

 如下,当前日期加4为2024-4-7:非节假日(虽是周日,但属于清明节调整的上班日)。

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

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

相关文章

嵌入式学习第三十一天!(双向链表)

双向链表&#xff1a;在单向链表的每个结点中&#xff0c;再设置一个指向其前驱结点的指针域&#xff08;即牺牲部分空间&#xff0c;添加了一个前驱结点的指针域&#xff09; 1. 双向链表的定义&#xff1a; #ifndef _DOULINK_H_ #define _DOULINK_H_typedef struct stu {in…

SystemC入门学习Demo用例的工程化配置

背景&#xff1a;对不同的用例文件&#xff0c;使用CMakeLists.txt进行工程化管理的演示&#xff0c;这样开发者可以更加关注在代码开发上。 1&#xff0c;首先安装好系统环境的systemC库&#xff1a;ubuntu系统安装systemc-2.3.4流程-CSDN博客 2&#xff0c;准备好一个demo用…

再续前缘——C++【入门】

目录 1. 引用 引用概念 使用场景 1. 做参数 2. 引用做返回值 3.传值、传引用效率比较 4. 引用和指针的不同点 2. 内联函数 3.auto关键字 推导应用场景 auto不能推导的场景 4.基于范围的for循环(C11) 5.指针空值nullptr(C11) 1. 引用 引用概念 引用不是新定义一个…

JUC:手写实现一个简易的线程池(Java)

目录 ​编辑 先上完整代码&#xff1a; 解析&#xff1a; 任务队列&#xff1a; 线程池类&#xff1a; 拒绝策略&#xff1a; 先上完整代码&#xff1a; public class MyThreadPool {public static void main(String[] args) {ThreadPool threadPool new ThreadPool(2, …

Linux进程状态深度解析:探索进程的生命周期

文章目录 一、引言1、进程的概念与重要性2、Linux系统下进程状态的意义3、进程状态与系统性能的关系 二、Linux下进程状态概述1、Linux进程状态的分类2、进程状态信息的获取方法 三、Linux下进程状态详解1、运行状态&#xff08;Running&#xff09;2、可中断睡眠状态&#xff…

27.WEB渗透测试-数据传输与加解密(1)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;26.WEB渗透测试-BurpSuite&#xff08;五&#xff09; BP抓包网站网址&#xff1a;http:…

实现Hello Qt 程序

&#x1f40c;博主主页&#xff1a;&#x1f40c;​倔强的大蜗牛&#x1f40c;​ &#x1f4da;专栏分类&#xff1a;QT❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、使用 "按钮" 实现 1、纯代码方式实现 2、可视化操作实现 &#xff08;1&#xff09…

【leetcode面试经典150题】15.分发糖果(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主&#xff0c;题解使用C语言。&#xff08;若有使用其他语言的同学也可了解题解思路&#xff0c;本质上语法内容一致&…

Hive3.0.0建库表命令测试

Hive创建表格格式如下&#xff1a; create [external] table [if not exists] table_name [(col_name data_type [comment col_comment],)] [comment table_comment] [partitioned by(col_name data_type [comment col_comment],)] [clustered by (col_name,col_name,...)…

贪心算法Java实现

贪心算法Java实现 贪心算法介绍 贪心算法&#xff08;贪婪算法&#xff09;是一个遵循启发式解决问题的算法范式&#xff0c;核心思想是通过在每一步的选择中都选用当前步骤下最优的选择&#xff0c;期望结果是最优的算法。贪心算法得到的结果不一定是最优结果&#xff0c;但是…

如何使用亮数据的数据IP代理及数据工具采集市场情报

如何使用亮数据的数据IP代理及数据工具采集市场情报 亮数据为粉丝提供了10美金的抵用券&#xff0c;成功注册账户&#xff0c;并登录后在用户界面里输入折扣代码即可享受抵扣&#xff01; 折扣代码&#xff1a;zhouzhou 访问页面&#xff1a;https://www.bright.cn/proxy-types…

对抗样本攻击

对抗样本是指经过特殊设计或调整的输入数据&#xff0c;旨在欺骗人工智能模型&#xff0c;使其产生错误的预测或输出。对抗样本通常是通过对原始输入进行微小但精心计算的改变&#xff0c;使得模型产生意外的结果。这种模糊化的输入可能难以从人类角度甄别&#xff0c;但对机器…

Laravel 开发Api规范

一&#xff0c;修改时区 配置 config/app.php 文件 // 时区修改&#xff0c;感觉两者皆可&#xff0c;自己根据实际情况定义 timezone > PRC, // 大陆时间二&#xff0c;设置 Accept 头中间件 accept头即为客户端请求头&#xff0c;做成中间件来使用。Accept 决定了响应返…

gma 教程:计算标准化降水指数(SPI)

安装 gma&#xff1a;pip install gma &#xff08;依赖的 gdal 需自行安装&#xff09; 本文基于&#xff1a;gma 2.0.8&#xff0c;Python 3.10 本文用到数据请从 gma 网站获取&#xff1a;https://gma.luosgeo.com/UserGuide/climet/Index/SPI.html 。 SPEI 函数简介 gma.c…

c#编程基础学习之方法

目录 C#方法方法参数默认参数值多个参数返回值命名参数 方法重载 C#方法 实例 在程序类内创建一个方法&#xff1a; class Program {static void MyMethod() //static 静态意味着方法属于程序类&#xff0c;而不是程序类的对象。void 表示此方法没有返回值。MyMethod() 是方法…

比较720组结构数列的收敛过程

在行&#xff0c;列可自由变换的平面上3点结构只有6个 这次计算由这6个结构排列组合&#xff0c;构成的所有720个不重复数列的递推收敛过程。 结果表明&#xff0c;所有的数列都可以在有限步内收敛。 有461个数列在3-4-3的递推过程中是天然稳定的&#xff0c;收敛结果就是本身…

上海计算机学会 2024年3月月赛 丙组T1 最近的数字(数学)

第一题&#xff1a;T1最近的数字 标签&#xff1a;数学题意&#xff1a;给定两个正整数 n n n与 d d d&#xff0c;请找到所有最接近 n n n且是 d d d的倍数的整数。如果有多个数字满足要求&#xff0c;从小到大输出。数据范围&#xff1a; 1 ≤ n , d ≤ 1 , 000 , 000 , 000…

STM32学习和实践笔记(4):分析和理解GPIO_InitTypeDef GPIO_InitStructure (c)

第二个成员变量是GPIOSpeed_TypeDef GPIO_Speed&#xff1b;也与int a一样同理。 GPIOSpeed_TypeDef是一个枚举类型&#xff0c;其定义如下&#xff1a; typedef enum { GPIO_Speed_10MHz 1, GPIO_Speed_2MHz, GPIO_Speed_50MHz }GPIOSpeed_TypeDef; #define IS_GPI…

.NET Standard、.NET Framework 、.NET Core三者的关系与区别?

.NET Standard、.NET Framework 和 .NET Core 是 .NET 平台生态中的三个关键概念&#xff0c;它们之间存在明确的关系和显著的区别。下面分别阐述它们各自的角色以及相互间的关系&#xff1a; .NET Standard 角色&#xff1a; .NET Standard 是一套正式的 API 规范&#xff0c…

项目经理常用的工具模型有哪些?

项目经理常用的工具模型包括但不限于以下几种&#xff1a; 甘特图&#xff1a;这是一种将大型项目划分为几个阶段&#xff0c;并展示项目进度的工具。在甘特图中&#xff0c;可以清晰地看到每个任务的开始和结束时间&#xff0c;以及任务之间的依赖关系。 工作分解结构&#…