[python] 파이썬 workalendar를 사용하여 특정 날짜의 직후 영업일과 휴일 혹은 주말까지의 간격 계산하기

파이썬에서 workalendar 라이브러리는 국가별로 공휴일과 영업일을 쉽게 계산할 수 있는 도구입니다. 이 라이브러리를 사용하여 특정 날짜의 다음 영업일이나 휴일/주말까지의 일 수를 계산하는 방법에 대해 알아보겠습니다.

1. workalendar 설치

먼저, workalendar를 설치해야 합니다. 다음 명령을 사용하여 라이브러리를 설치할 수 있습니다.

pip install workalendar

2. workalendar를 사용하여 날짜 계산하기

아래는 workalendar를 사용하여 특정 날짜의 다음 영업일이나 휴일/주말까지의 일 수를 계산하는 예제 코드입니다. 이 예제에서는 한국의 공휴일과 주말을 기준으로 계산합니다.

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

def calculate_next_business_day(date):
    cal = SouthKorea()
    next_business_day = cal.add_working_days(date, 1)
    return next_business_day

def calculate_holidays_until_date(date):
    cal = SouthKorea()
    holidays = cal.holidays_set(date.year)
    count = 0
    while date not in holidays:
        date += timedelta(days=1)
        count += 1
    return count

# 예제 사용법
date = datetime(2021, 9, 1)
next_business_day = calculate_next_business_day(date)
holidays_until_date = calculate_holidays_until_date(date)

print(f"다음 영업일: {next_business_day}")
print(f"휴일/주말까지의 일 수: {holidays_until_date}")

위 예제에서는 calculate_next_business_day 함수를 사용하여 특정 날짜의 다음 영업일을 계산하고, calculate_holidays_until_date 함수를 사용하여 특정 날짜부터 가장 가까운 휴일/주말까지의 일 수를 계산합니다.

이 예제를 실행해보면, 특정 날짜의 다음 영업일과 휴일/주말까지의 일 수를 정확히 계산할 수 있습니다.

3. 참고 자료