파이썬에는 workalendar
라는 유용한 라이브러리가 있습니다. 이 라이브러리를 사용하면 특정 날짜의 공휴일과 주말까지의 간격을 쉽게 계산할 수 있습니다. 이번 글에서는 workalendar
를 사용하여 특정 날짜와 오늘 날짜 사이의 공휴일과 주말 간격을 계산하는 방법에 대해 알아보겠습니다.
1. workalendar 설치
먼저 workalendar
라이브러리를 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다:
pip install workalendar
2. 공휴일과 주말 간격 계산하기
workalendar
에서 제공하는 Calendar
클래스를 사용하여 공휴일과 주말 간격을 계산할 수 있습니다. 다음 예제 코드를 참고하세요:
from datetime import date
from workalendar.asia import SouthKorea
# 특정 날짜
specific_date = date(2022, 12, 25)
# 오늘 날짜
today = date.today()
# 한국의 달력 생성
cal = SouthKorea()
# 오늘 날짜부터 특정 날짜까지 공휴일과 주말 간격 계산
holidays_count = cal.get_working_days_delta(today, specific_date)
print(f"공휴일과 주말 간격: {holidays_count}일")
위 코드에서 SouthKorea
클래스는 한국의 달력을 나타냅니다. get_working_days_delta
메서드를 사용하여 특정 날짜와 오늘 날짜 사이의 공휴일과 주말 간격을 계산합니다. 결과는 변수 holidays_count
에 저장되고 출력됩니다.
3. 예외 처리
만약 특정 날짜가 이미 지났거나 오늘 날짜보다 미래인 경우에는 예외 처리를 해주는 것이 좋습니다. 다음 예제 코드를 참고하세요:
from datetime import date
from workalendar.asia import SouthKorea
# 특정 날짜
specific_date = date(2022, 12, 25)
# 오늘 날짜
today = date.today()
# 한국의 달력 생성
cal = SouthKorea()
# 예외 처리
if specific_date < today:
print("오류: 특정 날짜가 이미 지났습니다.")
elif specific_date == today:
print("오늘은 특정 날짜입니다.")
else:
# 오늘 날짜부터 특정 날짜까지 공휴일과 주말 간격 계산
holidays_count = cal.get_working_days_delta(today, specific_date)
print(f"공휴일과 주말 간격: {holidays_count}일")
위 코드에서 if
문을 사용하여 예외 상황을 처리합니다. 특정 날짜가 이미 지났을 경우에는 “오류: 특정 날짜가 이미 지났습니다.”를 출력하고, 오늘 날짜와 특정 날짜가 같을 경우에는 “오늘은 특정 날짜입니다.”를 출력합니다.
마치며
위에서 소개한 방법을 사용하여 파이썬의 workalendar
를 활용하여 주말과 공휴일까지의 날짜 간격을 쉽게 계산할 수 있습니다. 이를 통해 특정 날짜에 대한 업무 계획을 세울 때 유용하게 활용할 수 있습니다. workalendar
에는 다른 국가의 달력도 지원하므로, 필요한 경우 해당 국가의 달력을 사용하여 공휴일과 주말 간격을 계산할 수도 있습니다.