[python] pytz를 사용하여 특정 기간 동안의 평일만을 포함하는 시간 범위를 구하는 방법은 무엇인가요?
먼저, pytz
를 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다.
pip install pytz
다음은 pytz
와 datetime
을 사용하여 평일만 포함하는 시간 범위를 계산하는 예시 코드입니다.
import pytz
from datetime import datetime, timedelta
def get_weekday_time_range(start_date, end_date):
timezone = pytz.timezone('Asia/Seoul') # 사용하고자 하는 타임존 설정
weekday_time_range = []
current_date = start_date
while current_date <= end_date:
if current_date.weekday() < 5: # 월요일(0)부터 금요일(4)까지만 포함
start_time = timezone.localize(datetime.combine(current_date, datetime.min.time()))
end_time = start_time + timedelta(days=1) - timedelta(milliseconds=1)
weekday_time_range.append((start_time, end_time))
current_date += timedelta(days=1)
return weekday_time_range
# 예시: 2022년 1월 1일부터 2022년 1월 10일까지의 평일 시간 범위를 구하기
start_date = datetime(2022, 1, 1).date()
end_date = datetime(2022, 1, 10).date()
weekday_time_range = get_weekday_time_range(start_date, end_date)
for start_time, end_time in weekday_time_range:
print("시작 시간:", start_time)
print("종료 시간:", end_time)
print()
이 코드는 start_date
부터 end_date
까지의 평일만을 포함하는 시간 범위를 구합니다. 예시에서는 2022년 1월 1일부터 2022년 1월 10일까지의 평일 시간 범위를 출력합니다. 코드에서 사용하는 타임존은 Asia/Seoul로 설정되어 있으며, 필요에 따라 수정할 수 있습니다.
참고 문서: