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

파이썬에는 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의 공식 문서를 참조하시기 바랍니다.