因為要做一個日曆控件,遇到國家法定假日,怎麼實現此功能呢?其實實作程式碼很簡單的。下面我跟大家分享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 id="填写时间算算我们能上几天班">填写时间算算我们能上几天班?!</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 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("春节/情人节"); 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中如何判斷假日的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

禪工作室 13.0.1
強大的PHP整合開發環境

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。