[python] 파이썬 workalendar를 사용하여 특정 날짜의 이전/다음 휴일 혹은 주말이 포함되는 주말 사이의 모든 날짜 가져오기
파이썬에서는 workalendar
이라는 라이브러리를 사용하여 특정 국가의 휴일과 주말을 가져올 수 있습니다. 이 라이브러리는 다양한 국가의 달력 및 휴일 정책을 지원하며, 특정 날짜의 이전/다음 휴일 또는 주말 사이의 모든 날짜를 쉽게 가져올 수 있습니다. 아래는 이를 수행하는 예제 코드입니다.
필요한 라이브러리 설치하기
먼저, workalendar
라이브러리를 설치해야 합니다. 다음 명령을 사용하여 라이브러리를 설치할 수 있습니다.
pip install workalendar
코드 예제
아래 예제 코드에서는 한국의 휴일과 주말을 가져오도록 설정하였습니다. 사용되는 workalendar
의 SouthKorea
클래스는 한국의 달력과 휴일을 지원합니다.
from workalendar.asia import SouthKorea
from datetime import datetime, timedelta
def get_holidays_and_weekends(start_date, end_date):
cal = SouthKorea()
holidays = cal.holidays(start_date, end_date)
weekends = []
current_date = start_date
while current_date <= end_date:
if current_date.weekday() >= 5: # 토요일(5) 또는 일요일(6)인 경우
weekends.append(current_date)
current_date += timedelta(days=1)
return holidays, weekends
# 사용 예시
start = datetime(2021, 1, 1)
end = datetime(2021, 12, 31)
holidays, weekends = get_holidays_and_weekends(start, end)
print("휴일:")
for holiday in holidays:
print(holiday)
print("\n주말:")
for weekend in weekends:
print(weekend)
위의 코드 예제에서는 get_holidays_and_weekends
함수를 정의하여 특정 범위 내의 휴일과 주말을 가져오도록 구현하였습니다. 입력으로 시작일과 종료일이 주어지면, 이전/다음 휴일 또는 주말 사이에 있는 모든 날짜를 가져옵니다.
실제로 실행해보면 시작일부터 종료일까지의 휴일과 주말이 정상적으로 출력되는 것을 확인할 수 있습니다.