[python] pytz를 사용하여 특정 날짜의 주어진 시간대로의 이전 시간을 구하는 방법은 무엇인가요?
import pytz
from datetime import datetime, timedelta
# 주어진 시간대로 이전 시간을 구하기 위한 함수
def get_previous_time(date, timezone):
# pytz로 주어진 시간대의 timezone 객체 생성
tz = pytz.timezone(timezone)
# 현재 시간을 date 객체에 시간대를 적용하여 생성
current_time = date.replace(tzinfo=tz)
# 이전 시간 계산을 위해 timedelta 객체 생성
one_hour = timedelta(hours=1)
# 현재 시간에서 이전 시간을 계산
previous_time = current_time - one_hour
# 결과를 주어진 시간대에 맞춰 출력
previous_time = previous_time.astimezone(tz)
# 이전 시간 반환
return previous_time
# 테스트용 날짜 예시
date = datetime(2021, 1, 1, 12, 0, 0)
# 테스트용 시간대 예시
timezone = 'America/New_York'
# 특정 날짜의 주어진 시간대로의 이전 시간 구하기
previous_time = get_previous_time(date, timezone)
# 결과 출력
print(f"이전 시간: {previous_time}")
이 코드는 pytz 패키지를 사용하여 주어진 시간대로의 이전 시간을 구합니다. get_previous_time() 함수는 datetime 객체와 시간대를 입력받아, 주어진 시간대로의 이전 시간을 계산하여 반환합니다.
위의 코드 예시에서는 테스트용 날짜와 시간대로 2021년 1월 1일 12시를 입력하고, ‘America/New_York’ 시간대로의 이전 시간을 구하는 예시를 제공했습니다. 출력 결과로는 ‘2021-01-01 10:00:00-05:00’의 형식으로 이전 시간이 출력됩니다.