JavaScript에서 특정 월이 며칠까지 있는지 확인하려면 Date 객체의 getDate() 메서드를 활용하면 됩니다. 핵심은 해당 월의 '0일째 날', 즉 그 달의 마지막 날짜를 조회하는 것입니다.
원리 이해하기
JavaScript에서 월(month)은 0부터 시작합니다. 즉, 1월은 0, 7월은 6으로 표현됩니다. 여기서 중요한 트릭은 new Date(year, month, 0)처럼 일(day)을 0으로 지정하는 것입니다. 일수가 0이면 자동으로 이전 달의 마지막 날로 이동하기 때문에, getDate()를 호출하면 해당 월의 총 일 수가 반환됩니다.
예제 코드
아래 코드를 실행하면 특정 연도와 월의 일 수를 확인할 수 있습니다.
<!DOCTYPE html>
<html>
<body>
<script>
var days = function(month, year) {
return new Date(year, month, 0).getDate();
};
document.write("7월의 일 수: " + days(7, 2012)); // 7월
document.write("<br>9월의 일 수: " + days(9, 2012)); // 9월
</script>
</body>
</html>실행 결과
7월의 일 수: 31 9월의 일 수: 30
추가 팁
이 방법은 윤년도 자동으로 처리해 줍니다. 예를 들어 days(2, 2024)를 호출하면 2024년은 윤년이므로 29가 반환되고, days(2, 2023)은 평년이므로 28이 반환됩니다. 별도의 조건문 없이 간결하게 월별 일 수를 계산할 수 있어 실무에서 유용하게 활용됩니다.