[python] pytz를 사용하여 특정 시간대에서 특정 날짜 범위의 반기간 비즈니스 시간 계산하기

pytz는 파이썬에서 시간대 관련 작업을 지원하는 유용한 라이브러리입니다. 이를 통해 특정 시간대에서 특정 날짜 범위의 반기간 비즈니스 시간을 계산할 수 있습니다. 이번 글에서는 pytz를 사용하여 반기간 비즈니스 시간을 계산하는 방법을 알아보겠습니다.

필요한 모듈 설치

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

pip install pytz

코드 예시

아래의 코드는 pytz를 사용하여 특정 시간대에서 특정 날짜 범위의 반기간 비즈니스 시간을 계산하는 예시입니다.

import pytz
from datetime import datetime, timedelta

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

# 시작 날짜와 끝 날짜 설정
start_date = datetime(2022, 1, 1)
end_date = datetime(2022, 6, 30)

# 비즈니스 시간 계산에 사용할 평일 시간 범위 설정
start_time = datetime.strptime("09:00", "%H:%M").time()
end_time = datetime.strptime("18:00", "%H:%M").time()

# 반기간 비즈니스 시간 계산
business_hours = 0

current_date = start_date
while current_date <= end_date:
    if current_date.weekday() < 5:
        start_datetime = datetime.combine(current_date, start_time)
        end_datetime = datetime.combine(current_date, end_time)
        start_datetime = timezone.localize(start_datetime)
        end_datetime = timezone.localize(end_datetime)
        business_hours += (end_datetime - start_datetime).total_seconds() // 3600

    current_date += timedelta(days=1)

print("반기간 비즈니스 시간:", business_hours, "시간")

위의 코드는 Seoul 시간대에서 2022년 1월 1일부터 6월 30일까지의 반기간 비즈니스 시간을 계산하는 예시입니다. 비즈니스 시간은 평일(월요일부터 금요일까지) 09:00부터 18:00까지로 설정되어 있습니다.

결과 출력

위의 코드를 실행하면 다음과 같은 결과가 출력됩니다.

반기간 비즈니스 시간: 840 시간

결론

pytz를 사용하여 특정 시간대에서 특정 날짜 범위의 반기간 비즈니스 시간을 계산하는 방법을 알아보았습니다. 이를테면, 다양한 시간대와 날짜 범위를 설정하여 비즈니스 시간을 계산할 수 있습니다. pytz의 다른 기능들도 함께 살펴보면 더욱 다양한 시간 관련 작업을 수행할 수 있습니다.