一個需求是下發任務時選擇開始日期跟結束日期,要自動計算出工時數,代碼如下:
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);
}
}