js計算兩個日期之間工作日天數

一個需求是下發任務時選擇開始日期跟結束日期,要自動計算出工時數,代碼如下:

function getWeekday(e){
	var startDt=document.getElementById("planBeginDate").value;
	var endDt=document.getElementById("planEndDate").value;
	if(startDt && endDt){
		var first = new Date(startDt);
		var last = new Date(endDt);
		//計算工作日方法:遍歷這兩個日期區間的每一個日期,獲取他的getDay()
		//分別獲取first和last的毫秒數(時間戳)
		first = first.getTime();
		last = last.getTime();
		
		var count = 0;
		while(first <= last){
			//first在遍歷過程中,就是兩個日期區間中的每一個日期
			//console.log(first);
			//將first轉換成日期對象
			var d = new Date(first);
			//判斷是否爲工作日
			if(d.getDay() >= 1 && d.getDay() <= 5){
				count++;
			}
            //增加一天
			first += 24*3600*1000;
		}
        //轉換爲工時(以每天 8 小時計)
		count = count*8;
        //給對應輸入框賦值
		$("input[name='planWorkingHours']").val(count);
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章