[python] 파이썬 workalendar를 사용하여 특정 날짜의 이전/다음 휴일과 영업일 및 주말 여부 출력하기

파이썬에서는 다양한 외부 라이브러리를 사용하여 휴일, 영업일 등과 같은 날짜 관련 작업을 처리할 수 있습니다. workalendar는 파이썬에서 휴일과 영업일 관련 작업을 처리하는 라이브러리 중 하나입니다. 이 라이브러리를 사용하여 특정 날짜의 이전/다음 휴일과 영업일 및 주말 여부를 출력하는 예제를 작성해보겠습니다.

workalendar 설치하기

먼저 workalendar를 설치해야 합니다. pip를 사용하여 다음 명령을 실행하여 workalendar를 설치합니다.

pip install workalendar

코드 예제

이제 파이썬 코드를 작성하여 해당 기능을 구현해보겠습니다.

import datetime
from workalendar.asia import SouthKorea

def get_previous_holiday(date):
    cal = SouthKorea()
    prev_holiday = cal.get_previous_holiday(date)
    return prev_holiday

def get_next_holiday(date):
    cal = SouthKorea()
    next_holiday = cal.get_next_holiday(date)
    return next_holiday

def is_business_day(date):
    cal = SouthKorea()
    return not cal.is_holiday(date)

def is_weekend(date):
    return date.weekday() >= 5

# 사용 예제
date = datetime.date(2022, 1, 1)
prev_holiday = get_previous_holiday(date)
next_holiday = get_next_holiday(date)
business_day = is_business_day(date)
weekend = is_weekend(date)

print(f'이전 휴일: {prev_holiday}')
print(f'다음 휴일: {next_holiday}')
print(f'영업일 여부: {business_day}')
print(f'주말 여부: {weekend}')

위 예제에서는 SouthKorea 클래스를 사용하여 대한민국의 휴일 정보를 가져옵니다. get_previous_holiday 함수를 사용하여 특정 날짜의 이전 휴일을 가져올 수 있고, get_next_holiday 함수를 사용하여 특정 날짜의 다음 휴일을 가져올 수 있습니다. is_business_day 함수는 특정 날짜가 영업일인지 여부를 반환하고, is_weekend 함수는 특정 날짜가 주말인지 여부를 반환합니다.

위 예제의 출력은 다음과 같습니다:

이전 휴일: 2022-01-01
다음 휴일: 2022-02-01
영업일 여부: False
주말 여부: True

이 예제에서는 2022년 1월 1일을 기준으로 이전 휴일은 2022년 1월 1일, 다음 휴일은 2022년 2월 1일임을 확인할 수 있습니다. 또한 이 날짜는 영업일이 아니고, 주말에 해당하는 것도 확인할 수 있습니다.

마무리

위 예제를 통해 파이썬의 workalendar 라이브러리를 사용하여 특정 날짜의 이전/다음 휴일과 영업일 및 주말 여부를 출력하는 방법을 알아보았습니다. 이를 활용하여 휴일이나 영업일에 따른 작업 로직을 구현할 수 있습니다. 자세한 사용 방법은 workalendar 공식 문서를 참조하시기 바랍니다.