[python] 파이썬 workalendar를 사용하여 특정 날짜의 다음 휴일까지의 시간 계산하기
파이썬의 workalendar
패키지를 사용하면 특정 날짜부터 다음 휴일까지의 시간을 쉽게 계산할 수 있습니다. workalendar
패키지는 다양한 국가의 공휴일 및 업무 달력을 지원하므로 다른 국가의 휴일을 계산하려는 경우에도 유용합니다.
이 예제에서는 workalendar
패키지를 사용하여 특정 날짜부터 다음 휴일까지의 시간을 계산하는 방법을 보여줍니다.
요구사항
- Python 3.x
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일 남았습니다.