[python] 파이썬 workalendar를 사용하여 특정 날짜의 다음 휴일과 영업일까지의 간격 계산하기

파이썬의 workalendar 라이브러리를 사용하면, 특정 날짜의 다음 휴일과 영업일까지의 간격을 간편하게 계산할 수 있습니다. 이 또한 다양한 국가의 공휴일 정보를 포함하고 있으므로, 국가별로 다른 휴일 규칙을 쉽게 적용할 수 있습니다.

workalendar 설치하기

먼저, workalendar 라이브러리를 설치해야 합니다. 터미널에서 다음 명령을 실행하여 설치할 수 있습니다:

pip install workalendar

코드 예제

다음은 특정 날짜의 다음 휴일과 영업일까지의 간격을 계산하는 파이썬 코드의 예제입니다.

from workalendar.asia import SouthKorea
from datetime import date
from dateutil.relativedelta import relativedelta

# 대한민국의 workalendar 객체 생성
cal = SouthKorea()

# 특정 날짜 설정
start_date = date(2022, 1, 1)

# 다음 휴일 계산
next_holiday = cal.find_following_holiday(start_date)

# 영업일까지의 간격 계산
next_business_day = cal.add_working_days(start_date, 1)

# 결과 출력
print("다음 휴일:", next_holiday)
print("다음 영업일:", next_business_day)
print("다음 휴일까지의 간격:", (next_holiday - start_date).days)
print("다음 영업일까지의 간격:", (next_business_day - start_date).days)

위 코드에서는 workalendar.asia 모듈의 SouthKorea 클래스를 사용하여 대한민국의 휴일 정보를 가져옵니다. start_date 변수를 특정 날짜로 설정하고, find_following_holiday 메서드를 사용하여 start_date 이후의 다음 휴일을 계산합니다. 또한, add_working_days 메서드를 사용하여 start_date 이후의 첫 번째 영업일을 계산합니다. 이후, 결과를 출력합니다.

실행 결과 예시

아래는 코드의 실행 결과 예시입니다.

다음 휴일: 2022-01-03
다음 영업일: 2022-01-02
다음 휴일까지의 간격: 2
다음 영업일까지의 간격: 1

위 결과에서, start_date인 2022년 1월 1일로부터 다음 휴일까지의 간격은 2일이고, 다음 영업일까지의 간격은 1일임을 알 수 있습니다.

참고 자료