JavaScript로 이번 달 첫째 날과 마지막 날 구하기
JavaScript에서 현재 월의 첫 번째 날짜와 마지막 날짜를 구하는 것은 Date 객체만 있으면 매우 간단하게 처리할 수 있습니다. 핵심 원리는 다음과 같습니다.
- 첫째 날: 일(day) 값을
1로 지정하면 해당 월의 첫 번째 날이 됩니다. - 마지막 날: 다음 달의 일(day) 값을
0으로 지정하면, JavaScript가 자동으로 이전 달의 마지막 날로 계산해 줍니다.
아래 예제 코드를 직접 실행해 보세요.
<html>
<head>
<title>JavaScript Dates</title>
</head>
<body>
<script>
var date = new Date();
document.write("Current Date: " + date );
var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
document.write("<br>"+firstDay);
var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);
document.write("<br>"+lastDay);
</script>
</body>
</html>
코드 동작 원리
new Date()로 현재 날짜를 먼저 가져온 뒤, getFullYear()(연도)와 getMonth()(월) 값을 조합해 새로운 Date 객체를 생성합니다.
new Date(date.getFullYear(), date.getMonth(), 1)— 올해 현재 월의 1일을 나타내는 Date 객체를 반환합니다.new Date(date.getFullYear(), date.getMonth() + 1, 0)— '다음 달의 0일', 즉 다음 달 1일의 하루 전을 의미하므로 결과적으로 이번 달의 마지막 날이 됩니다.
이 방식의 가장 큰 장점은 월별 일수를 직접 관리하지 않아도 된다는 점입니다. 예를 들어 2월처럼 윤년에 따라 마지막 날이 28일 또는 29일로 달라지는 경우에도, JavaScript가 달력 규칙을 자동으로 반영해 정확한 결과를 반환합니다.