[python] pytz를 사용하여 특정 날짜의 주어진 요일까지의 날짜 수를 구하는 방법은 무엇인가요?

먼저, 필요한 모듈을 import합니다.

import pytz
import datetime

다음으로, pytz를 사용하여 원하는 타임존을 설정합니다.

timezone = pytz.timezone('Asia/Seoul')

특정 날짜를 입력받습니다.

date_str = '2022-06-01'
date = datetime.datetime.strptime(date_str, '%Y-%m-%d').date()

원하는 요일을 입력받습니다. (월요일: 0, 화요일: 1, …, 일요일: 6)

target_weekday = 2  # 수요일

주어진 요일까지의 날짜 수를 계산합니다.

start_date = date
end_date = date
while start_date.weekday() != target_weekday:
    start_date -= datetime.timedelta(days=1)

while end_date.weekday() != target_weekday:
    end_date += datetime.timedelta(days=1)

num_days = (end_date - start_date).days + 1

결과를 출력합니다.

print(f'{date_str}부터 {target_weekday}요일까지의 날짜 수는 {num_days}일입니다.')

위의 코드를 실행하면, 입력한 날짜부터 주어진 요일까지의 날짜 수를 구할 수 있습니다. 예를 들어, date_str을 ‘2022-06-01’로, target_weekday를 2로 설정하면 수요일까지의 날짜 수를 구할 수 있습니다.

프로그램 실행 결과는 다음과 같습니다.

2022-06-01부터 2요일까지의 날짜 수는 2일입니다.

이와 같이 pytz를 사용하여 특정 날짜의 주어진 요일까지의 날짜 수를 구할 수 있습니다.


참고문서: