[python] pytz를 사용하여 특정 시간대에서 특정 날짜 범위의 첫 번째 비즈니스 시간 가져오기

파이썬의 pytz 라이브러리는 시간대 관련 작업을 쉽게 처리할 수 있도록 도와줍니다. 이 라이브러리를 사용하여 특정 시간대에서 특정 날짜 범위의 첫 번째 비즈니스 시간을 가져오는 방법을 다루어보겠습니다.

1. pytz 설치

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

pip install pytz

2. 코드 작성

import pytz
from datetime import datetime, timedelta

# 시간대 설정
timezone = pytz.timezone('Asia/Seoul')

# 시작 날짜와 종료 날짜 설정
start_date = datetime(2022, 1, 1)
end_date = datetime(2022, 1, 31)

# 비즈니스 시간 계산
current_date = start_date
while current_date <= end_date:
    if current_date.weekday() < 5:
        start_time = timezone.localize(datetime(current_date.year, current_date.month, current_date.day, 9, 0, 0))
        break
    
    current_date += timedelta(days=1)

print(start_time)

위 코드에서는 pytz 모듈을 가져와서 timezone 객체를 생성합니다. 이 예시에서는 ‘Asia/Seoul’ 시간대를 사용하였습니다. 시작 날짜와 종료 날짜를 설정한 후, while 루프를 사용하여 각 날짜의 요일을 확인합니다. 요일이 평일(월요일부터 금요일)인 경우, 비즈니스 시간인 9시에 첫 번째 비즈니스 시간인 start_time을 설정하고 반복문을 종료합니다.

3. 실행 결과

위 코드를 실행하면 start_time 변수에 시작 날짜 범위의 첫 번째 비즈니스 시간이 저장됩니다. 예시에서는 ‘2022년 1월 1일’부터 ‘2022년 1월 31일’까지의 범위를 설정하였으므로, 해당 기간 중 첫 번째 평일인 ‘2022년 1월 3일’의 9시가 start_time에 저장될 것입니다.

2022-01-03 09:00:00+09:00

요약

pytz 라이브러리를 사용하여 특정 시간대에서 특정 날짜 범위의 첫 번째 비즈니스 시간을 가져오는 방법을 알아보았습니다. 이를 활용하여 비즈니스 작업이나 스케줄링 작업 등에 유용하게 활용할 수 있습니다.


참고: