Js判断2019年工作日休息日

2018年12月10日作者:井井客原创来源:原创

用JS判断工作日休息日,因为法定节假日休息和补班日期不固定,所以每年都需要更新。

代码如下:


function isWorkingDay() {
var date = new Date();
var dateArr = [date.getFullYear(), date.getMonth() + 1, date.getDate()];
// restDay为周一到周五可以法定休息日 workDay为周六周日法定补休工作日  每年底需要手动更新来年的日期
var restDay = [
    "2018/12/31",
    "2019/1/1",
    "2019/2/4",
    "2019/2/5",
    "2019/2/6",
    "2019/2/7",
    "2019/2/8",
    "2019/4/5",
    "2019/5/1",
    "2019/6/7",
    "2019/9/13",
    "2019/10/1",
    "2019/10/2",
    "2019/10/3",
    "2019/10/4",
    "2019/10/7"
    ],
    workDay = [
    "2018/12/29",
    "2019/2/2",
    "2019/2/3",
    "2019/9/29",
    "2019/10/12"
    ];
var week = date.getDay();
// 正常情况下周一到周五是工作日
var flag = false;
if (/^[1-5]$/.test(week)) {
    flag = true;
}
// 非正常情况下(在正常基础上),周一到周五工作日内需要排除法定休假日作为休息日,周六周日正常休息日则需要排除法定工作日作为工作日
if (/^[1-5]$/.test(week) && restDay.indexOf(dateArr.join("/")) > -1) {
    flag = false;
} else if (/^[1-5]$/.test(week) === false && workDay.indexOf(dateArr.join("/")) > -1) {
    flag = true;
}
    return flag;
}

console.log(isWorkingDay() ? "今天是工作日" : "今天是休息日");


没有写得很复杂,只是把函数返回值做为是否是工作日的判断。因为没有做传参,后面可以自己做一下的。

代码中有两点,一个是restDay和workDay需要每年手动更新,因为法定节假日都每年不固定。

还有一点如何在原周一到周五工作,周六周日休息基础上甄别法定节假日和补班日。

分析就是在原来的基础上,休息日在原基础上除了周六周日还需要在周一到周五中找到法定休息日。而工作日在原基础上找到周六周日法定需要补班的日期。

文章TAG:JavaScript

本文标题:Js判断2019年工作日休息日
本文链接:http://www.jingjingke.com/c/10352.html

上一篇:手机调试APP
下一篇:简单使用cheerio模块采集数据