js判斷節(jié)假日實例代碼
更新時間:2024年05月02日 01:12:17 作者:hy31337
因為要做一個日歷控件,遇到國家法定節(jié)假日,怎么實現(xiàn)此功能呢?其實實現(xiàn)代碼很簡單的,下面小編給大家分享js判斷節(jié)假日實例代碼,需要的朋友參考下吧
效果展示:
<!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年節(jié)假日 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年調(diào)休日 var txr_2017 = ["2017-01-22","2017-02-04","2017-04-01","2017-05-27","2017-09-30"]; //2018年節(jié)假日 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年調(diào)休日 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; //"節(jié)假日"; } var getday = date.getDay(); if (getday == 0 || getday == 6) { if(is_tx_2017!=-1 || is_tx_2018!=-1){ num++; return;// '調(diào)休日'; } return;// '休息日'; } else { if(is_tx_2017!=-1 || is_tx_2018!=-1){ num++; return;// '調(diào)休日'; } num++; return;// '工作日'; } //num; } //var d_arr = []; //時間段內(nèi)所有日期 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)); } // 調(diào)用 //alert(isWorkday('2016-12-10')); </script> <body> <h3>填寫時間算算我們能上幾天班?!</h3> <div id="div1"> 開始時間:<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="點擊獲取工作日天數(shù)"></input> </div> <div> <strong><span id = "show"></span></strong> </div> </body> </html>
ps:下面在給大家分享一段代碼基于js判斷所有節(jié)假日,具體代碼如下所示:
// JavaScript Document calendar = 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("春節(jié)/情人節(jié)"); if ((month == 2) && (date == 1)) document.write("國際海豹日"); if ((month == 2) && (date == 8)) document.write("國際勞動婦女節(jié)/中國保護母親河日"); if ((month == 2) && (date == 12)) document.write("植樹節(jié)"); if ((month == 3) && (date == 1)) document.write("愚人節(jié)"); if ((month == 3) && (date == 5)) document.write("清明節(jié)"); if ((month == 4) && (date == 1)) document.write("國際勞動節(jié)"); if ((month == 4) && (date == 9)) document.write("母親節(jié)"); if ((month == 5) && (date == 1)) document.write("國際兒童節(jié)"); if ((month == 5) && (date == 26)) document.write("國際禁毒日"); if ((month == 7) && (date == 1)) document.write("建軍節(jié)"); if ((month == 7) && (date == 15)) document.write("日本無條件投降日/世紀婚紗日"); if ((month == 7) && (date == 16)) document.write("七夕情人節(jié)"); if ((month == 9) && (date == 20)) document.write("世界廚師日"); if ((month == 9) && (date == 22)) document.write("世界傳統(tǒng)醫(yī)藥日"); if ((month == 9) && (date == 24)) document.write("聯(lián)合國日/世界發(fā)展信息日"); if ((month == 9) && (date == 25)) document.write("世界骨質(zhì)疏松日/抗美援朝紀念日/環(huán)衛(wèi)工人節(jié)"); if ((month == 9) && (date == 31)) document.write("世界勤儉日/中國男性健康日"); if ((month == 11) && (date == 24)) document.write("平安夜"); if ((month == 11) && (date == 25)) document.write("圣誕節(jié)");
JS——判斷節(jié)假日(假日包括周末,不包括調(diào)休上班的周末)
//節(jié)假日數(shù)組 var holidays = [ '2024-4-4', //清明 '2024-4-5', //清明 '2024-4-6', //清明 '2024-5-1', // 勞動節(jié) '2024-5-2', // 勞動節(jié) '2024-5-3', // 勞動節(jié) '2024-5-4', // 勞動節(jié) '2024-5-5', // 勞動節(jié) '2024-6-8', // 端午節(jié) '2024-6-9', // 端午節(jié) '2024-6-10', // 端午節(jié) '2024-9-15', // 中秋節(jié) '2024-9-16', // 中秋節(jié) '2024-9-17', // 中秋節(jié) '2024-10-1', // 國慶節(jié) '2024-10-2', // 國慶節(jié) '2024-10-3', // 國慶節(jié) '2024-10-4', // 國慶節(jié) '2024-10-5', // 國慶節(jié) '2024-10-6', // 國慶節(jié) '2024-10-7', // 國慶節(jié) '2023-12-31' // 元旦 ]; //周末上班日期數(shù)組 var nWeekend = [ '2024-4-7', //清明調(diào)整 '2024-4-28', //五一調(diào)整 '2024-5-11', //五一調(diào)整 '2024-9-14', //中秋調(diào)整 '2024-9-29', //國慶調(diào)整 '2024-10-12', //國慶調(diào)整 ]; 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個條件即為節(jié)假日:1.在節(jié)假日數(shù)組內(nèi)或在周末. 2.不在周末上班日期數(shù)組 if((holidays.indexOf(formattedDate)>=0 || (curdate.getDay()==0 || curdate.getDay()==6)) && nWeekend.indexOf(formattedDate)<0){ console.log(formattedDate+':'+'節(jié)假日'); }else{ console.log(formattedDate+':'+'非節(jié)假日'); }
總結(jié)
以上所述是小編給大家介紹的js判斷節(jié)假日實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
javaScript強制保留兩位小數(shù)的輸入數(shù)校驗和小數(shù)保留問題
這篇文章主要介紹了javaScript強制保留兩位小數(shù)的輸入數(shù)校驗和小數(shù)保留問題,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2018-05-05js圖片延遲加載(Lazyload)三種實現(xiàn)方式
這篇文章主要介紹了js延遲加載(Lazyload)三種實現(xiàn)方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03JavaScript中的作用域與閉包、原型與原型鏈、異步與單線程
JavaScript的三座大山指的是:作用域和閉包、原型和原型鏈、異步與單線程,這些概念在日常的開發(fā)工作中經(jīng)常被提及,并對我們理解和編寫高質(zhì)量的JavaScript代碼至關(guān)重要2024-02-02