[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. 참고 자료
- workalendar 공식 문서: https://workalendar.readthedocs.io/en/latest/
- 파이썬 datetime 모듈 문서: https://docs.python.org/3/library/datetime.html