Programing/javascript

JavaScript 윤년(leap year) 체크

Dongkkase 2019. 6. 26. 15:18
반응형

윤년이란?

지구가 태양 한 바퀴 도는 데에 365일 5시간 48분 46초가 걸리며, 365일이 초과되는 시간을 보정하기 위해 만들어진게 윤년이다.

윤년은 4년 마다 한번 2월 29일을 둔다.

 

해당 년도가 윤년인지 아닌지 확인하는 방법은 아래와 같다

  • 연수가 4로 나누어 떨어지는 해는 윤년

  • 100으로 나누어 떨어지는 해는 평년

  • 400으로 나누어 떨어지는 해는 윤년

 

위 방법으로 만든 코드는 아래와 같다.

function leapYear(year)
{
    return ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
}

console.log(leapYear(2019)); // false
console.log(leapYear(2020)); // true
console.log(leapYear(2021)); // false
console.log(leapYear(2022)); // false
console.log(leapYear(2023)); // false
console.log(leapYear(2024)); // true
console.log(leapYear(2025)); // false

 

혹 이런 형태도 가능하겠다.

function leapYear(year)
{
    return new Date(year, 1, 29).getDate() === 29;
}

console.log(leapYear(2019)); // false
console.log(leapYear(2020)); // true
console.log(leapYear(2021)); // false
console.log(leapYear(2022)); // false
console.log(leapYear(2023)); // false
console.log(leapYear(2024)); // true
console.log(leapYear(2025)); // false

 

반응형