[python] 파이썬 workalendar에서 휴일이 포함된 주말 확인하기

파이썬에서 workalendar 라이브러리는 특정 지역의 공휴일, 비공휴일 등 다양한 날짜 정보를 제공합니다. 이는 비즈니스 로직을 구현하거나 휴일을 고려한 일정 관리에 유용하게 사용할 수 있습니다.

하지만 때로는 주말에도 휴일이 포함될 수 있다는 점을 고려해야 할 때가 있습니다. 예를 들어, 국경일이 토요일에 떨어진다면 그 날은 주말이지만 휴일로 간주되는 경우가 있습니다. 이럴 때 workalendar를 사용하여 해당 날짜가 실제 휴일인지 확인할 수 있습니다.

아래는 workalendar를 사용하여 파이썬에서 휴일이 포함된 주말을 확인하는 예시 코드입니다.

from workalendar.asia import SouthKorea
from datetime import date, timedelta

def is_holiday_on_weekend(year, month, day):
    cal = SouthKorea()
    target_date = date(year, month, day)
    # 주말인지 확인
    if target_date.weekday() >= 5:
        # 해당 날짜가 실제 휴일인지 확인
        if cal.is_working_day(target_date):
            return True
    return False

# 테스트
year = 2022
month = 1
day = 1
result = is_holiday_on_weekend(year, month, day)
print(result)  # output: True

위의 코드에서는 workalendar에서 제공하는 SouthKorea 클래스를 이용하여 대한민국의 휴일 정보를 가져옵니다. 그리고 is_holiday_on_weekend 함수는 입력받은 날짜가 주말이고 휴일인지 확인한 후에 True 또는 False 값을 반환합니다. 지금은 테스트로 2022년 1월 1일을 주고 실행한 결과가 True로 나옵니다.

이와 같이 workalendar를 사용하면 휴일이 포함된 주말을 쉽게 확인할 수 있습니다. 또한, workalendar 라이브러리에서는 다른 나라의 휴일 정보도 제공하므로 필요에 따라 해당 지역의 휴일을 확인할 수 있습니다.

참고 자료