因为要做一个日历控件,遇到国家法定节假日,怎么实现此功能呢?其实实现代码很简单的。下面我给大家分享js判断节假日实例代码,需要的朋友参考下吧
效果展示:
<!doctype html><html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title></title> <script src="jquery.min.js" type="text/javascript"></script> <script src="date.js" type="text/javascript"></script></head><script> /************************************************************** 判断某天是不是工作日* * @ date {date} 要判断的日期(0000-00-00) **************************************************************///2017年节假日var jrdate_2017 = ["2017-01-01","2017-01-02","2017-01-27","2017-01-27","2017-01-27","2017-01-28","2017-01-29","2017-01-30","2017-01-31","2017-02-01","2017-02-02","2017-04-02","2017-04-03","2017-04-04","2017-04-29","2017-04-30","2017-05-01","2017-05-28","2017-05-29","2017-05-30","2017-10-01","2017-10-02","2017-10-03","2017-10-04","2017-10-05","2017-10-06","2017-10-07","2017-10-08"];//2017年调休日var txr_2017 = ["2017-01-22","2017-02-04","2017-04-01","2017-05-27","2017-09-30"];//2018年节假日var jrdate_2018 = ["2018-01-01","2018-02-15","2018-02-16","2018-02-17","2018-02-18","2018-02-19","2018-02-20","2018-02-21","2018-04-05","2018-04-06","2018-04-07","2018-04-29","2018-04-30","2018-05-01","2018-06-16","2018-06-17","2018-06-18","2018-09-22","2018-09-23","2018-09-24","2018-10-01","2018-10-02","2018-10-03","2018-10-04","2018-10-05","2018-10-06","2018-10-07"];//2018年调休日var txr_2018 = ["2018-02-11","2018-02-24","2018-04-08","2018-04-28","2018-09-29","2018-09-30"];var num = 0;function isworkday(date_string) { //debugger; var date = !date_string ? new date() : new date(date_string); var is_jr_2017 = $.inarray(date_string, jrdate_2017); var is_jr_2018 = $.inarray(date_string, jrdate_2018); var is_tx_2017 = $.inarray(date_string, txr_2017); var is_tx_2018 = $.inarray(date_string, txr_2018); if(is_jr_2017!=-1 || is_jr_2018!=-1){ return; //"节假日"; } var getday = date.getday(); if (getday == 0 || getday == 6) { if(is_tx_2017!=-1 || is_tx_2018!=-1){ num++; return;// '调休日'; } return;// '休息日'; } else { if(is_tx_2017!=-1 || is_tx_2018!=-1){ num++; return;// '调休日'; } num++; return;// '工作日'; } //num;}//var d_arr = []; //时间段内所有日期function getdayinfo(startdate,enddate){ var bd = new date(startdate),be = new date(enddate); var bd_time = bd.gettime(), be_time = be.gettime(),time_diff = be_time - bd_time; d_arr = []; num = 0; for(var i=0; i<= time_diff; i+=86400000){ var ds = new date(bd_time+i).format("yyyy-mm-dd"); isworkday(ds); //d_arr.push(ds) } console.log(num); console.log(d_arr); $("#show").html("呀!这段时间我们一共上"+num+"天班呢。");}function getinfo(info){ var startdate = $("#startdate").val(); var enddate = $("#enddate").val(); getdayinfo(startdate,enddate); //console.log(isworkday(startdate));}// 调用//alert(isworkday('2016-12-10')); </script><body> <h3>填写时间算算我们能上几天班?!</h3> <p id="p1"> 开始时间:<input id="startdate" type="text" value="2018-02-01"></input> 截止日期:<input id="enddate" type="text" value="2018-02-28"></input> <input type="button" onclick = 'getinfo()' value="点击获取工作日天数"></input> </p> <p> <strong><span id = "show"></span></strong> </p></body></html>
ps:下面在给大家分享一段代码基于js判断所有节假日,具体代码如下所示:
// javascript documentcalendar = new date();month = calendar.getmonth();date = calendar.getdate();if ((month == 0) && (date == 1)) document.write("元旦");if ((month == 1) && (date ==13 )) document.write("除夕");if ((month == 1) && (date ==14 )) document.write("春节/情人节");if ((month == 2) && (date == 1)) document.write("国际海豹日");if ((month == 2) && (date == 8)) document.write("国际劳动妇女节/中国保护母亲河日");if ((month == 2) && (date == 12)) document.write("植树节");if ((month == 3) && (date == 1)) document.write("愚人节");if ((month == 3) && (date == 5)) document.write("清明节");if ((month == 4) && (date == 1)) document.write("国际劳动节");if ((month == 4) && (date == 9)) document.write("母亲节");if ((month == 5) && (date == 1)) document.write("国际儿童节");if ((month == 5) && (date == 26)) document.write("国际禁毒日");if ((month == 7) && (date == 1)) document.write("建军节");if ((month == 7) && (date == 15)) document.write("日本无条件投降日/世纪婚纱日");if ((month == 7) && (date == 16)) document.write("七夕情人节");if ((month == 9) && (date == 20)) document.write("世界厨师日");if ((month == 9) && (date == 22)) document.write("世界传统医药日");if ((month == 9) && (date == 24)) document.write("联合国日/世界发展信息日");if ((month == 9) && (date == 25)) document.write("世界骨质疏松日/抗美援朝纪念日/环卫工人节");if ((month == 9) && (date == 31)) document.write("世界勤俭日/中国男性健康日");if ((month == 11) && (date == 24)) document.write("平安夜"); if ((month == 11) && (date == 25)) document.write("圣诞节");
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
在js中如何实现留言板功能
在nodejs中如何实现oauth2.0授权服务认证
在webpack上如何搭建vue项目
以上就是在js中如何判断节假日的详细内容。