[python] 파이썬 workalendar를 사용하여 특정 날짜의 이전 휴일까지의 시간 계산하기

파이썬의 workalendar 라이브러리는 국가별로 공휴일, 비공휴일, 주말 등을 계산할 수 있는 탁월한 기능을 제공합니다. 우리가 특정 날짜의 이전 휴일까지의 시간을 계산하기 위해 이 라이브러리를 사용해보도록 하겠습니다.

workalendar 설치하기

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

pip install workalendar

코드 예제

다음은 특정 날짜의 이전 휴일까지의 시간을 계산하는 간단한 파이썬 코드입니다.

from datetime import datetime, timedelta
from workalendar.asia import SouthKorea

def calculate_time_to_previous_holiday(date):
    cal = SouthKorea()
    previous_holiday = cal.find_previous_holiday(date)
  
    if previous_holiday is None:
        return None
    
    time_left = previous_holiday - date
  
    return time_left

# 예제 사용
date = datetime(2022, 1, 5)
time_left = calculate_time_to_previous_holiday(date)
print(f"이전 휴일까지 남은 시간: {time_left}")

위 코드는 workalendarSouthKorea 클래스를 사용하여 한국의 공휴일 정보를 가져오고, find_previous_holiday 메서드를 사용하여 특정 날짜의 이전 휴일을 찾습니다. 만약 이전 휴일이 없다면 None을 반환합니다. 이후에는 이전 휴일까지 남은 시간을 계산하여 출력합니다.

결과 예시

위의 코드 예제를 실행한 결과는 다음과 같습니다.

이전 휴일까지 남은 시간: 2 days, 0:00:00

위 결과에서는 2022년 1월 5일부터 이전 휴일인 2022년 1월 3일까지의 시간이 2일이 남았음을 알 수 있습니다.

참고 자료