[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일임을 알 수 있습니다.
참고 자료
- workalendar 공식 문서: https://pypi.org/project/workalendar/
- workalendar GitHub 레포지토리: https://github.com/novafloss/workalendar