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

일부 프로젝트에서는 특정 날짜의 직전 휴일을 확인하거나, 해당 날짜로부터 몇 영업일 혹은 주말이 지났는지 계산해야 할 때가 있습니다. 이러한 작업을 간편하게 해주는 파이썬 라이브러리인 workalendar를 사용해보겠습니다.

1. workalendar 설치하기

먼저, workalendar를 설치해야 합니다. 다음의 명령어를 사용하여 workalendar를 설치합니다.

pip install workalendar

2. workalendar를 사용하여 날짜 계산하기

2.1 특정 날짜의 직전 휴일 확인하기

다음은 workalendar를 사용하여 특정 날짜의 직전 휴일을 확인하는 예제입니다.

from workalendar.europe import France

cal = France()
date = cal.find_previous_holiday(date.today())
print(date)

이 예제에서는 workalendar.europe에서 France를 가져오고, cal 객체를 생성합니다. find_previous_holiday 함수를 사용하여 오늘 날짜의 직전 휴일을 확인하고 출력합니다.

2.2 특정 날짜부터 영업일 혹은 주말까지의 간격 계산하기

workalendar를 사용하여 특정 날짜로부터 영업일 혹은 주말까지의 간격을 계산하는 방법은 다음과 같습니다.

from workalendar.europe import France
from datetime import date, timedelta

cal = France()
start_date = date(2022, 1, 1)
end_date = start_date + timedelta(days=5)  # 5일 이후의 날짜 계산

business_days = cal.get_business_days(start_date, end_date)
print(len(business_days))

이 예제에서는 start_date로부터 5일 이후의 날짜를 계산하고, get_business_days 함수를 사용하여 해당 기간 동안의 영업일을 가져옵니다. 마지막으로, business_days의 길이를 확인하여 영업일의 개수를 출력합니다.

참고 자료