SOURCE

//Script here
function jsTimeToString(time){   
    var year=time.getFullYear();   
    var month=time.getMonth()+1;   
    var day=time.getDate();     
    if(month<10){   
        month="0"+month;   
    }   
    if(day<10){   
        day="0"+day;   
    }   
    var strTime = year+""+month+""+day;    
return strTime;   
}  

function stringToJsTime(time) {   
    var y = time.substring(0,4);   
    var m = time.substring(4,6)-1;   
    var d = time.substring(6,8);     
    var date = new Date(y,m,d,0,0,0,0);   
    return date;   
}

var holiday= ["20210101", "20210102", "20210103", "20210109", "20210110", 
              "20210116", "20210117", "20210123", "20210124", "20210130", 
              "20210131", "20210206", "20210211", "20210212", "20210213", 
              "20210214", "20210215", "20210216", "20210217", "20210221", 
              "20210227", "20210228", "20210306", "20210307", "20210313", 
              "20210314", "20210320", "20210321", "20210327", "20210328",
              "20210403", "20210404", "20210405", "20210410", "20210411", 
              "20210417", "20210418", "20210424", "20210501", "20210502", 
              "20210503", "20210504", "20210505", "20210509", "20210515", 
              "20210516", "20210522", "20210523", "20210529", "20210530", 
              "20210605", "20210606", "20210612", "20210613", "20210614", 
              "20210619", "20210620", "20210626", "20210627", "20210703", 
              "20210704", "20210710", "20210711", "20210717", "20210718", 
              "20210724", "20210725", "20210731", "20210801", "20210807", 
              "20210808", "20210814", "20210815", "20210821", "20210822", 
              "20210828", "20210829", "20210904", "20210905", "20210911", 
              "20210912", "20210919", "20210920", "20210921", "20210925", 
              "20211001", "20211002", "20211003", "20211004", "20211005", 
              "20211006", "20211007", "20211010", "20211016", "20211017", 
              "20211023", "20211024", "20211030", "20211031", "20211106", 
              "20211107", "20211113", "20211114", "20211120", "20211121", 
              "20211127", "20211128", "20211204", "20211205", "20211211", 
              "20211212", "20211218", "20211219", "20211225", "20211226"];
	
var holidayMap={};
	
function getMap(hd){
   for(var i=0;i<hd.length;i++){
       holidayMap[hd[i]]='1';
   }	
}
	
function getworkday(dat,itervalByDay){
    var date = dat; 
	var millisceonds =date.getTime();
	for(var i=1;i<=itervalByDay;i++){
        millisceonds += 24*60*60*1000;
        date.setTime(millisceonds);
        var d=jsTimeToString(date);
        if(holidayMap[d]){
            i--;
        }
	}
	return date;
}
	
getMap(holiday);

//扭转时间
var pcsc = 0;
var sczz = 7;
var updat = '20201231';
var updat_date = stringToJsTime(updat);

var zupdt = 1;

//计算标准排产时间
var erdat_b_date = getworkday(updat_date,pcsc);
console.log('标准排产时间(不含节假日)' + erdat_b_date);

//标准排产时间 字符串
var erdat_b = jsTimeToString(erdat_b_date); 

var erdat = '20201231';  //实际排产日期
var erdat_date;  //实际排产日期 date型
var erdat_date1; //用于计算标准计划生产日期
var mbdat_b_date;//标准计划生产日期
var mbdat_b;  //标准计划生产日期字符串
if(erdat == null){
	erdat_date = null;
	zupdt = 0;
	mbdat_b_date = null; //计算标准计划生产时间
	mbdat_b = ' ';  //标准计划生产时间 字符串
}else{
	erdat_date = stringToJsTime(erdat);
	erdat_date1  = stringToJsTime(erdat);
    mbdat_b_date = getworkday(erdat_date1,sczz);
    console.log('标准计划生产时间(不含节假日)' + mbdat_b_date);
	mbdat_b = jsTimeToString(mbdat_b_date);  //标准计划生产时间 字符串
}

//比较排产是否超期
var pcovd;
if(erdat_date == null){
	pcovd = 1;
}else if(erdat_date - erdat_b_date > 0){
	pcovd = 1;
}else{
	pcovd = 0;
}

var mbdat = '20210104';
var mbdat_date;
if(mbdat == null){
	mbdat_date = null;
	zupdt = 0;
}else{
	mbdat_date = stringToJsTime(mbdat);
}

//比较计划生产是否超期
var scovd;
if(mbdat_date == null){
	scovd = 1;
}else if(mbdat_date - mbdat_b_date > 0){
	scovd = 1;
}else{
	scovd = 0;
}
console 命令行工具 X clear

                    
>
console