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

파이썬의 workalendar 패키지를 사용하면 특정 날짜부터 다음 휴일까지의 시간을 쉽게 계산할 수 있습니다. workalendar 패키지는 다양한 국가의 공휴일 및 업무 달력을 지원하므로 다른 국가의 휴일을 계산하려는 경우에도 유용합니다.

이 예제에서는 workalendar 패키지를 사용하여 특정 날짜부터 다음 휴일까지의 시간을 계산하는 방법을 보여줍니다.

요구사항

pip install workalendar

예제 코드

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

def get_next_holiday(start_date):
    cal = Germany()
    holidays = cal.holidays()
    
    next_holiday = None
    for holiday in holidays:
        if holiday[0] >= start_date:
            next_holiday = holiday
            break
    
    if next_holiday:
        days_left = (next_holiday[0] - start_date).days
        return f"The next holiday is {next_holiday[1]} on {next_holiday[0]}. It's {days_left} days from now."
    else:
        return "There are no holidays coming up."

# 특정 날짜
start_date = date(2022, 12, 25)

# 특정 날짜부터 다음 휴일까지의 시간 계산
time_until_next_holiday = get_next_holiday(start_date)
print(time_until_next_holiday)

위의 예제 코드는 독일 휴일을 계산하는 예제입니다. workalendar.europe 모듈에서 Germany 클래스를 사용하여 독일 휴일 정보를 가져옵니다. start_date와 다음 휴일을 비교하여 가장 가까운 휴일을 찾고, 해당 휴일까지의 시간을 계산하여 결과를 반환합니다.

결과

The next holiday is Neujahrstag on 2023-01-01. It's 7 days from now.

위의 예제에서는 특정 날짜인 2022년 12월 25일로부터 다음 휴일인 2023년 1월 1일 까지의 시간을 계산합니다. 결과는 다음과 같습니다.

다음 휴일은 2023년 1월 1일인 Neujahrstag이며, 오늘로부터 7일 남았습니다.

참고 자료