[파이썬] 날짜와 시간의 시간대 변환

간혹 다른 시간대의 시간을 변환해야 할 때가 있습니다. Python 언어에서는 datetime 모듈을 사용하여 날짜와 시간의 시간대를 변환할 수 있습니다. 이 블로그 포스트에서는 Python을 사용하여 날짜와 시간을 다른 시간대로 변환하는 방법에 대해 알아보겠습니다.

datetime 모듈

Python의 datetime 모듈은 날짜와 시간을 조작하고 처리하는 데 사용되는 다양한 클래스와 함수를 제공합니다. 이 모듈을 사용하여 시간대 변환을 수행할 수 있습니다.

import datetime

시간대 변환

datetime 모듈의 datetime 클래스는 시간대 정보를 포함하지 않는 일반적인 날짜와 시간 객체를 나타냅니다. 시간대 정보를 추가하려면 datetime 객체의 replace() 메서드를 사용해야 합니다.

from datetime import datetime, timedelta
import pytz

# 현재 시간
now = datetime.now()

# 현재 시간을 다른 시간대로 변환
new_timezone = pytz.timezone('America/New_York') # 변환할 시간대 설정
converted_time = now.astimezone(new_timezone)

위의 예제에서는 현재 시간을 다른 시간대로 변환하기 위해 astimezone() 메서드를 사용했습니다. new_timezone 변수에 변환할 시간대를 설정해야 합니다. 이 예제에서는 ‘America/New_York’ 시간대로 변환했습니다.

시간대 목록

Python의 pytz 모듈을 사용하면 시간대 정보를 제공하는 다양한 시간대 목록을 얻을 수 있습니다.

import pytz

# pytz에서 제공하는 시간대 목록 출력
timezones = pytz.all_timezones
print(timezones)

위의 예제에서는 pytz.all_timezones를 사용하여 모든 시간대 목록을 얻었습니다. 이 목록을 사용하여 astimezone() 메서드로 시간대를 변환할 수 있습니다.

날짜와 시간 형식 지정

시간대 변환을 수행한 후에는 원하는 형식으로 날짜와 시간을 출력할 수 있습니다. strftime() 메서드를 사용하여 형식화된 문자열을 생성할 수 있습니다. 예를 들어, ‘YYYY-MM-DD HH:MM:SS’ 형식으로 출력하려면 다음과 같이 작성할 수 있습니다.

converted_time_str = converted_time.strftime('%Y-%m-%d %H:%M:%S')
print(converted_time_str)

위의 예에서는 converted_time 객체를 strftime() 메서드를 사용하여 원하는 형식으로 문자열로 변환한 다음 출력했습니다.

결론

Python의 datetime 모듈과 pytz 모듈을 사용하면 날짜와 시간의 시간대 변환을 간단하게 수행할 수 있습니다. 이를 통해 특정 시간대의 시간을 다른 시간대로 변환하여 원하는 형식으로 출력할 수 있습니다.