[python] pytz를 사용하여 시간대와 문자열 간의 변환하기
일반적으로 시간대는 협정 세계시(UTC)를 기준으로 표현되지만, 다른 시간대에 있는 시간을 다룰 때는 시간대 정보가 필요합니다. 파이썬에서는 pytz 라이브러리를 사용하여 시간대와 문자열 간의 변환을 쉽게 할 수 있습니다.
설치
pytz 라이브러리를 설치하려면 다음 명령을 사용하세요.
pip install pytz
시간대별 시간 가져오기
다음은 특정 시간대의 현재 시간을 얻는 방법입니다.
import datetime
import pytz
# 현재 시간을 얻기 위해 datetime.now()를 사용하고, 시간대로 변환하기 위해 pytz.timezone()을 사용합니다.
now = datetime.datetime.now(pytz.timezone('Asia/Seoul'))
print(now)
위의 예제에서 ‘Asia/Seoul’은 서울의 시간대를 나타내며, datetime.now()
는 시간대를 지정하지 않으면 기본적으로 시스템의 시간대를 사용합니다.
출력 결과는 현재 시간대에 따라 다르게 표시됩니다.
시간대별 문자열 변환하기
다음은 시간대별로 날짜와 시간을 문자열로 변환하는 방법입니다.
import datetime
import pytz
# 현재 시간을 얻기 위해 datetime.now()를 사용하고, 시간대로 변환하기 위해 pytz.timezone()을 사용합니다.
now = datetime.datetime.now(pytz.timezone('Asia/Seoul'))
# strftime() 함수를 사용하여 날짜와 시간을 원하는 형식의 문자열로 변환합니다.
formatted_time = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_time)
위의 예제에서는 strftime()
함수를 사용하여 현재 날짜와 시간을 “%Y-%m-%d %H:%M:%S” 형식의 문자열로 변환합니다.
출력 결과는 현재 시간대에 따라 다르게 표시됩니다.
문자열을 시간대로 변환하기
시간대 정보를 포함한 문자열을 파싱하여 시간대에 따라 datetime
객체로 변환할 수도 있습니다.
import datetime
import pytz
# 문자열을 `datetime` 객체로 변환하기 위해 `strptime()` 함수를 사용합니다.
datetime_str = "2022-01-01 12:00:00"
datetime_obj = datetime.datetime.strptime(datetime_str, "%Y-%m-%d %H:%M:%S")
# 시간대로 변환하기 위해 `pytz.timezone()` 함수를 사용합니다.
seoul_timezone = pytz.timezone('Asia/Seoul')
localized_datetime = seoul_timezone.localize(datetime_obj)
print(localized_datetime)
위의 예제에서는 strptime()
함수를 사용하여 “2022-01-01 12:00:00” 형식의 문자열을 datetime
객체로 변환합니다. 그리고 localize()
함수를 사용하여 해당 시간을 서울 시간대로 변환합니다.
출력 결과는 문자열을 변환한 시간대에 따라 다르게 표시됩니다.
pytz 라이브러리를 사용하여 시간대와 문자열 간의 변환을 쉽게 할 수 있습니다. 아래의 참고 자료를 확인하여 더 자세한 내용을 알아보세요.