String형태의 날짜 "20200311"에 다음날짜 값을 얻고 싶어서 +1을 할 경우에는 값이 날짜 범위를 넘어가게 된다.

그래서 String 형태의 값을 Date형태로 변환한 후 하루를 더하고 다시 String으로 변환해준다.

function datePlus(depTime) {					// depTime = "20200311"
	var year = depTime.substr(0,4);				// 2020
	var month = depTime.substr(4,2);			// 03
	var day = depTime.substr(6,2);				// 11
		
	var date = new Date(year, month-1, day);		// Date 생성
		
	date.setDate(date.getDate() + 1);			// 다음날짜로 set
		
	year = date.getFullYear();				// 원하는 값 변수에 저장
	month = date.getMonth() + 1;
	if(month<10) month = '0' + month;
	date = date.getDate();
	if(date<10) date = '0' + date;
		
	return year + month + date;				// 원하는 형태로 반환	"20200312"
}
    
function nextDay() {
	var nextDate = datePlus(document.getElementById('depTime').value);
		
	alert("nextDay() 실행!\n" + nextDate);
		
}

+ Recent posts