[python] pytz를 사용하여 특정 날짜 범위의 요일 수 계산하기
파이썬에서 특정한 날짜 범위 내의 특정 요일이 몇 번 나타나는지 계산하려면 pytz 라이브러리를 사용할 수 있습니다. pytz는 파이썬에서 시간대를 처리하기 위한 모듈로, 시간대 관련 작업을 쉽게 처리할 수 있습니다.
다음은 pytz를 사용하여 특정 날짜 범위의 요일 수를 계산하는 예제 코드입니다.
import datetime
import pytz
def count_weekdays(start_date, end_date, weekday_number):
# 시작 및 종료 날짜를 datetime 객체로 변환
start_date = datetime.datetime.strptime(start_date, "%Y-%m-%d")
end_date = datetime.datetime.strptime(end_date, "%Y-%m-%d")
# 시작 날짜부터 종료 날짜까지의 날짜 범위 생성
date_range = [start_date + datetime.timedelta(days=x) for x in range((end_date - start_date).days + 1)]
# 특정 요일이 몇 번 나타나는지 계산
count = sum(1 for date in date_range if date.weekday() == weekday_number)
return count
# 테스트를 위한 날짜 범위와 요일 선택
start_date = "2022-09-01"
end_date = "2022-09-30"
weekday_number = 0 # 0: 월요일, 1: 화요일, ..., 6: 일요일
# 요일 수 계산
weekday_count = count_weekdays(start_date, end_date, weekday_number)
print(f"Start Date: {start_date}")
print(f"End Date: {end_date}")
print(f"Weekday Number: {weekday_number}")
print(f"Weekday Count: {weekday_count}")
위의 코드는 주어진 날짜 범위 내에서 특정 요일(0: 월요일, 1: 화요일, …, 6: 일요일)이 몇 번 나타나는지 계산합니다. 예를 들어, 2022년 9월 1일부터 2022년 9월 30일까지의 월요일 수를 계산합니다.
위 예제 코드에서는 start_date
, end_date
, weekday_number
변수를 테스트하고자 하는 날짜 범위와 요일로 설정한 후 count_weekdays()
함수를 호출하여 요일 수를 계산합니다. 계산된 요일 수는 weekday_count
변수에 저장되고 출력됩니다.
이와 같이 pytz를 사용하여 특정 날짜 범위의 요일 수를 계산할 수 있습니다.
- 참고 문서: pytz 라이브러리 공식 문서