[python] 파이썬 workalendar를 사용하여 특정 날짜의 이전 영업일과 휴일의 시간 계산하기

파이썬으로 특정 날짜의 이전 영업일과 휴일을 계산하고 싶을 때, workalendar라이브러리를 사용하면 간단하게 수행할 수 있습니다. workalendar는 다양한 국가와 지역의 달력과 휴일을 제공하는 라이브러리입니다. 이를 사용하여 파이썬 코드로 특정 날짜의 이전 영업일과 휴일을 계산하는 예제를 살펴보겠습니다.

1. workalendar 설치하기

먼저, workalendar를 설치해야 합니다. 아래의 명령어를 사용하여 workalendar를 설치할 수 있습니다.

pip install workalendar

2. 코드 작성하기

다음은 특정 날짜의 이전 영업일과 휴일을 계산하는 코드입니다.

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

def get_previous_business_day(date):
    cal = SouthKorea()
    while True:
        date -= timedelta(days=1)
        if cal.is_working_day(date):
            return date

def get_holidays(date):
    cal = SouthKorea()
    return cal.holidays(date.year)

# 테스트 코드
date = datetime(2022, 1, 1)  # 특정 날짜
previous_business_day = get_previous_business_day(date)
holidays = get_holidays(date)

print("이전 영업일:", previous_business_day)
print("휴일:", holidays)

위 코드에서는 workalendarSouthKorea 클래스를 사용하여 한국의 달력과 휴일 정보를 가져옵니다. get_previous_business_day 함수는 주어진 날짜의 이전 영업일을 계산합니다. get_holidays 함수는 주어진 날짜의 휴일을 가져옵니다. 예제에서는 datetime 모듈의 datetime 클래스를 사용하여 2022년 1월 1일로 지정한 후 테스트하였습니다.

출력 결과는 다음과 같습니다.

이전 영업일: 2021-12-31
휴일: [(datetime.date(2022, 1, 1), 'New year')]

위의 예제 코드를 참고하여 원하는 날짜의 이전 영업일과 휴일을 계산해보세요. workalendar는 다양한 국가와 지역의 달력과 휴일 정보를 제공하기 때문에 다른 국가에 대한 계산도 가능합니다.

참고 자료