JavaScript의 Date 객체에서 날짜에 월(month)을 더하려면 setMonth() 메서드를 사용하면 됩니다. setMonth() 메서드는 지정된 날짜 객체의 월 값을 현지 시간(local time) 기준으로 설정합니다.
setMonth() 메서드란?
setMonth() 메서드는 0부터 시작하는 월 값(0 = 1월, 11 = 12월)을 인수로 받아 날짜를 수정합니다. 일반적으로 현재 월을 반환하는 getMonth() 메서드와 함께 사용하여 특정 개월 수만큼 앞당기거나 뒤로 미룰 수 있습니다.
예제 코드
아래 예제는 2017년 8월 20일이라는 날짜에 2개월을 추가하는 방법을 보여줍니다.
<html>
<head>
<title>JavaScript setMonth 메서드</title>
</head>
<body>
<script>
var dt = new Date("August 20, 2017 11:30:25");
dt.setMonth( dt.getMonth() + 2 );
document.write( dt );
</script>
</body>
</html>코드 설명
new Date("August 20, 2017 11:30:25")로 생성한 날짜 객체에 대해 dt.getMonth()가 현재 월(7월 인덱스 기준)을 가져오고, 여기에 2를 더한 값을 setMonth()로 다시 설정합니다. 실행 결과는 Sun Oct 22 2017 11:30:25처럼 10월로 변경된 날짜가 출력됩니다.
주의할 점
setMonth()는 월이 넘어갈 때 자동으로 연도를 조정합니다. 예를 들어 11월에 3개월을 더하면 다음 해 2월로 계산됩니다. 또한 해당 월에 존재하지 않는 일자(예: 31일에서 30일밖에 없는 달)가 되면 자동으로 말일로 보정되므로, 정확한 날짜 계산이 필요하다면 이 점을 고려해야 합니다.