var year = 2000; // 2000년은 윤년으로 2월이 29일이다.
var month = 2;
var days = 0;
switch (month) {
case 1: case 3: case 5: case 7: case 10: case 12:
days = 31;
break;
case 4: case 6: case 9: case 11:
days = 30;
break;
case 2:
// 윤년 계산 알고리즘
// 1. 연도가 4로 나누어떨어지는 해(2000, 2004, 2008, 2012, 2016, 2020...) 는 윤년이다.
// 2. 연도가 4로 나누어떨어지더라도 연도가 100으로 나누어떨어지는 해(2000, 2100, 2200...)는 평년이다.
// 3. 연도가 400으로 나누어떨어지는 해(2000, 2400, 2800)는 윤년이다.
days = ((year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0)) ? 29 : 28;
break;
default:
console.log('Invalid month');
}
console.log(days); // 29
:)
출처 : 모던 자바스크립트 Deep Dive (이웅모 지음)
'코딩 > 자바스크립트' 카테고리의 다른 글
자바스크립트, 1일차 (0) | 2024.04.15 |
---|---|
[JavaScript] 문자열에서 특정 문자의 개수를 세는 예 (0) | 2022.06.13 |
[JavaScript] 문자열에서 특정 문자의 인덱스(위치)를 검색하는 예 (0) | 2022.06.13 |
[JavaScript] 두 개의 주사위를 던졌을 때 두 눈의 합이 6이 되는 모든 경우의 수를 출력해 보자! (0) | 2022.06.13 |
[JavaScript] 달력을 자바스크립트로 만들어보자! (0) | 2022.06.09 |