>백엔드 개발 >파이썬 튜토리얼 >Python에서 UTC 날짜/시간 문자열을 현지 시간대로 변환하는 방법은 무엇입니까?

Python에서 UTC 날짜/시간 문자열을 현지 시간대로 변환하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-30 10:32:13484검색

How to Convert UTC Datetime Strings to Local Timezones in Python?

UTC 날짜/시간 문자열을 현지 날짜/시간으로 변환

질문:

UTC를 변환하는 방법 App Engine의 Bigtable에 문자열로 저장된 날짜/시간 문자열을 최종 사용자의 올바른 시간대는 무엇입니까?

답변:

UTC 날짜/시간 문자열을 사용자의 올바른 시간대로 날짜/시간으로 변환하려면 python-dateutil 라이브러리를 사용할 수 있습니다. . 이 라이브러리는 zoneinfo(Olson) 데이터베이스 위에 tzinfo 구현을 제공하므로 표준 이름으로 시간대 규칙을 쉽게 참조할 수 있습니다.

구현:

from datetime import datetime
from dateutil import tz

# Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')

# Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()

# Create a datetime object from the UTC string
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

# Convert the datetime object to UTC timezone
utc = utc.replace(tzinfo=from_zone)

# Convert the datetime object to the user's timezone
local = utc.astimezone(to_zone)

시간대별 권장 저장 공간 정보:

  • "-5:00" 또는 "EST": 이 방법은 간단하지만 사용자 시간대에 대한 상수 오프셋을 가정하므로 제한됩니다.
  • 표준 이름: Olson 데이터베이스의 표준 이름을 사용하는 것이 더 유연하고 시간대의 역사적 변화를 고려하므로 시간대를 인식합니다. python-dateutil 라이브러리를 사용하면 표준 이름으로 시간대를 참조할 수 있습니다.

예를 들어 "-5:00"은 다음을 사용하여 "America/New_York"로 변환할 수 있습니다.

import pytz
est = pytz.timezone("America/New_York")
est_name = est.zone

위 내용은 Python에서 UTC 날짜/시간 문자열을 현지 시간대로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.