파이썬에는 workalendar라는 훌륭한 라이브러리가 있습니다. 이 라이브러리는 다양한 국가 및 지역의 휴일 정보를 제공하여 비즈니스 작업을 계획하는 데 도움을 줍니다. 이번 포스트에서는 workalendar 라이브러리를 사용하여 특정 날짜의 직후 휴일과 영업일, 또는 주말까지의 간격을 계산하는 방법을 알아보겠습니다.
workalendar 설치하기
먼저 workalendar 라이브러리를 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다.
pip install workalendar
특정 날짜의 직후 휴일 계산하기
workalendar에서는 Calendar
클래스를 사용하여 휴일 정보를 가져옵니다. 먼저 Calendar
클래스를 import 해야 합니다.
from workalendar.core import Calendar
그런 다음 해당 국가(지역)의 Calendar
인스턴스를 생성합니다. 예를 들어, 한국의 경우 SouthKorea
클래스를 사용합니다.
from workalendar.asia import SouthKorea
cal = SouthKorea()
이제 원하는 날짜의 직후 휴일을 계산할 수 있습니다. add_working_days
메서드를 사용하여 휴일을 제외한 지정된 일수 후의 날짜를 계산합니다.
import datetime
date = datetime.date(2022, 12, 31)
next_holiday = cal.add_working_days(date, 1)
위의 예제에서는 2022년 12월 31일의 직후 휴일을 계산하고 있습니다. add_working_days
메서드의 두 번째 인자를 조정하여 원하는 일수만큼 이동할 수 있습니다.
특정 날짜의 영업일 혹은 주말까지의 간격 계산하기
특정 날짜의 직후 휴일 계산 방법과 비슷하게, add_working_days
메서드를 사용하여 영업일 혹은 주말까지의 간격을 계산할 수 있습니다. 아래의 예제에서는 주말까지의 간격을 계산하고 있습니다.
date = datetime.date(2022, 11, 1)
next_weekend = cal.add_working_days(date, 1, weekend=True)
위의 예제에서는 2022년 11월 1일의 직후 주말까지의 간격을 계산하고 있습니다. add_working_days
메서드의 세 번째 인자를 weekend=True
로 설정하여 주말까지의 간격을 계산할 수 있습니다.
마치며
이번 포스트에서는 파이썬 workalendar 라이브러리를 사용하여 특정 날짜의 직후 휴일과 영업일 혹은 주말까지의 간격을 계산하는 방법에 대해 알아보았습니다. 이 라이브러리를 활용하면 비즈니스 작업을 수월하게 계획하는데 도움이 될 것입니다.
더 많은 정보는 workalendar의 공식 문서를 참조하시기 바랍니다.
- workalendar GitHub 페이지: https://github.com/novafloss/workalendar
- workalendar 공식 문서: https://workalendar.readthedocs.io/