[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
를 반환합니다.
참고 문헌:
- Python dateutil 공식 문서: https://dateutil.readthedocs.io/en/stable/