[python] pytz를 사용하여 특정 기간 동안의 휴일 목록을 구하는 방법은 무엇인가요?

먼저, pytz를 설치해야 합니다. pip를 사용하여 다음 명령을 실행하여 설치할 수 있습니다:

pip install pytz

다음은 pytz를 사용하여 특정 기간 동안의 휴일 목록을 구하는 예제 코드입니다:

import pytz
from datetime import datetime, timedelta

def get_holidays(start_date, end_date):
    # 휴일 목록을 저장할 리스트
    holidays = []
    
    # start_date와 end_date 사이의 모든 날짜를 체크
    current_date = start_date
    while current_date <= end_date:
        # 현재 날짜가 휴일인지 확인
        if current_date.weekday() >= 5:  # 토요일(5) 또는 일요일(6)이면 휴일
            holidays.append(current_date)
        current_date += timedelta(days=1)
    
    return holidays

# 특정 기간을 정의
start_date = datetime(2022, 1, 1)
end_date = datetime(2022, 12, 31)

# 사용할 시간대 설정 (예: 서울 시간대)
timezone = pytz.timezone('Asia/Seoul')

# 시간대를 적용한 시작일과 종료일
start_date = timezone.localize(start_date)
end_date = timezone.localize(end_date)

# 휴일 목록 구하기
holidays = get_holidays(start_date, end_date)

# 결과 출력
for holiday in holidays:
    print(holiday.strftime('%Y-%m-%d'))

위 예제 코드에서는 get_holidays 함수를 정의하여 특정 기간 동안의 휴일을 구합니다. 알고리즘은 시작일과 종료일 사이의 모든 날짜를 체크하고, 주말인 경우 휴일로 간주합니다. 이렇게 구한 휴일은 리스트에 저장되며, 마지막으로 결과를 출력합니다.

이 코드를 실행하면 지정한 기간 동안의 휴일 목록이 출력됩니다. 참고로, 특정 국가의 공휴일을 구하려면 그에 맞는 휴일 데이터베이스를 참조하여 적용할 수도 있습니다.