同过js实现自然日和工作日的时间加法
// dateTemp :date day:number type: 'NATURALDAY' , 'WORKDAY'
function addDayDate(dateTemp,day,type)
{
switch(type)
{
//时间加自然日
case 'NATURALDAY':
let millSeconds=Math.abs(dateTemp)+(day*24*60*60*1000);
return new Date(millSeconds);
case 'WORKDAY':
let itemDate.setDate(dateTemp);
for(let i=1;i<day;i++)
{
while(true)
{
itemDate.setDate(itemDate.getDate()+1);
if(isWorkDay(itemDate))
{
break
}
}
}
return itemDate;
}
}
//判断一个日期是否为工作日
function isWorkDay(date)
{
//除去的节假日日期数组
let offDay=['20221001','20221002','20221003','20221004','20221005','20221006','20221007'];
let dateYear=date.getFullYear();
let dateMonth=date.getMonth()+1;
dateMonth=dateMonth<10?'0'+dateMonth:dateMonth;
let dateDay=date.getDay()<10?'0'+date.getDay():date.getDay();
let dateItem=dateYear.toString()+dateMonth.toString()+dateDay.toString();
return !(offDay.indexOf(dateItem)>-1);
}