프로젝트에서 달력을 사용해야 하는데 .net 달력 컨트롤이 너무 무거워서 js로 작성해야 합니다. 달력의 핵심 기능은 DateAdd()입니다. js는 vbscript와 달리 예상보다 번거롭습니다. 쉽게 dateadd()를 사용할 수 있지만 나중에는 setFullYear() 및 setDate()와 같은 내장 함수를 사용하여 dateadd()의 js 버전을 결합하는 것을 고려했습니다. :
function DateAdd(interval, number,date){ // 날짜는 시간 객체이거나 문자열일 수 있습니다. 후자의 경우 형식은 다음과 같아야 합니다. yyyy-mm-dd hh:mm:ss 여기서 구분 기호는 변수입니다. "2006년 12월 29일 16:01:23"도 유효합니다.
number = parsInt(number)
if (typeof(date)=="string"){
date = date.split(/ D/);
--date[1];
eval("var date = new Date(" date.join(",") ")")
}
if (typeof (date)=="object"){
var date = date
}
switch(interval){
case "y": date.setFullYear(date.getFullYear() number ); ;
case "m": date.setMonth(date.getMonth() number); break
case "d": date.setDate(date.getDate() number)
case " w": date.setDate(date.getDate() 7*number); break;
case "h": date.setHours(date.getHour() number); break;
case "n ": 날짜 .setMinutes(date.getMinutes() number); break;
case "s": date.setSeconds(date.getSeconds() number)
case "l": date.getMilliseconds () number);
}
return date;
}
이 함수는 세 개의 매개변수를 사용하여 vbscript의 dateadd 함수를 모방하려고 최선을 다했습니다. , 첫 번째 매개변수는 변경 시간 간격으로 연도, 월, 일, 주, 시, 분, 초, 밀리초(확장)일 수 있으며, 세 번째 매개변수는 시간 개체 또는 문자열일 수 있습니다(형식은 2006이어야 함). -12-29 14:32:57 또는 2006년 12월 29일 14:32:57), 함수의 반환 값은 새로운 시간 개체입니다.