[python] pytz를 사용하여 특정 기간 동안의 주말 날짜를 구하는 방법은 무엇인가요?

먼저, datetime 모듈과 pytz 라이브러리를 import합니다.

import datetime
import pytz

다음으로, 시작일과 종료일을 설정합니다. 예를 들어, 2022년 1월 1일부터 2022년 12월 31일까지의 주말을 구하고 싶다면 다음과 같이 시작일과 종료일을 설정할 수 있습니다.

start_date = datetime.datetime(2022, 1, 1)
end_date = datetime.datetime(2022, 12, 31)

이제 반복문을 사용하여 주말인지 확인하고, 주말이라면 해당 날짜를 출력하거나 리스트에 저장할 수 있습니다. 다음은 주말을 리스트에 저장하는 예제입니다.

weekends = []

# 시작일부터 종료일까지 하루씩 증가하면서 주말인지 확인
current_date = start_date
while current_date <= end_date:
    # 주말인지 확인 (6은 토요일, 7은 일요일)
    if current_date.weekday() in [5, 6]:
        weekends.append(current_date.date())
    
    # 다음 날짜로 갱신
    current_date += datetime.timedelta(days=1)

위 예제에서는 weekday() 메서드를 사용하여 날짜의 요일을 확인합니다. 토요일과 일요일은 각각 5와 6이므로, 이 값에 해당하는 날짜를 주말로 처리합니다. datetime.timedelta(days=1)을 사용하여 다음 날짜로 넘어갈 수 있습니다.

주말을 출력하려면 print() 함수를 사용하면 되며, 주말이 저장되는 리스트 weekends는 다른 용도로 활용할 수 있습니다.

위의 코드를 실행하면 시작일부터 종료일까지의 모든 주말 날짜를 구할 수 있습니다.