본문 바로가기

JavaScript

javascript date 일 더하기

사용자로부터 날짜를 입력받는다.
선택 날짜에 제한을 두고 싶다.
예를 들어서, 예약 날짜를 입력 받는데
오늘로부터 최소 3일 이후부터만 
선택 가능해 보자.

//사용자가 날짜를 입력하는 태그
<input type="date" id="orderDate"/>
//파라미터로 던져 준 숫자만큼 날을 더하는 함수 addDays()를 Date에 prototype으로 넣어 둠.
Date.prototype.addDays = function(days) {
    const date = new Date(this.valueOf());
    date.setDate(date.getDate() + days);
    return date;
}
const dateVal = document.querySelector('input#orderDate').value;    //사용자가 입력한 날짜를 문자열 형태로 받아옴
const orderDate = new Date(dateVal);    //문자열을 바탕으로 날짜 객체를 생성함
const now = new Date();     //현재 날짜를 바탕으로 객체를 생성함
if(orderDate < now.addDays(3) ) {       //사용자가 입력한 날짜가 오늘로부터 3일을 더한 날짜보다 빠를 경우에는 메세지 출력
    console.log('최소 3일 이후부터 선택해 주세요.');
} else {
    console.log('감사합니다');
}









> 참고 자료
https://stackoverflow.com/questions/563406/how-to-add-days-to-date

 

 

-220414

반응형