[python] dateutil을 사용하여 주어진 날짜가 특정 연도의 윤년인지 확인하는 방법

우선, dateutil 모듈을 설치합니다.

pip install python-dateutil

다음으로, 다음과 같이 코드를 작성하여 특정 날짜가 윤년인지 확인할 수 있습니다.

from dateutil import rrule

def is_leap_year(year, date):
    next_leap_year = rrule.rrule(
        rrule.YEARLY,
        dtstart=date,
        byweekday=rrule.February,
        bymonthday=29,
        cache=True
    )
    return next_leap_year[0].year == year

위의 함수는 is_leap_year이며, 첫 번째 매개변수로 확인할 연도를, 두 번째 매개변수로는 특정 날짜를 받습니다. 이 함수는 해당 날짜의 윤년 여부를 확인하여 True 또는 False를 반환합니다.

더 간단한 방법으로는 다음과 같이 dateutil을 사용하여 윤년 여부를 확인할 수도 있습니다.

from dateutil.relativedelta import relativedelta

def is_leap_year(year, date):
    return relativedelta(date, date.replace(year=year)).years == 0

위의 코드는 is_leap_year 함수를 사용하여 해당 날짜가 특정 연도의 윤년이면 True를 반환합니다.

참고 문헌: