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

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

Patricia Arquette
풀어 주다: 2024-12-21 18:53:09
원래의
405명이 탐색했습니다.

How to Convert a UTC Datetime String to Local Timezone in Python?

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

개발자는 서로 다른 시간대의 시간을 변환해야 하는 경우가 종종 있습니다. 예를 들어 Android 앱은 타임스탬프 데이터를 서버 앱에 보낼 수 있으며, 이를 위해서는 올바른 현지 시간대로 내부 시스템에 데이터를 저장해야 합니다. 여기에는 수신 UTC 타임스탬프를 적절한 현지 시간으로 변환하는 작업이 포함됩니다.

변환 문제

UTC 타임스탬프를 날짜/시간 객체로 변환하려는 초기 시도는 잘못된 시간을 초래할 수 있습니다. 오프셋. 프로그래밍에 사용되는 기본 날짜/시간 개체는 일반적으로 기본적으로 "순진"합니다. 즉, 해당 시간대 참조를 명시적으로 나타내지 않습니다. 이 문제를 해결하려면 시간대 정보를 명시적으로 지정해야 합니다.

시간대 정보 권장 저장 공간

변환을 수행하기 전에 사용자가 선호하는 시간대 정보를 저장하는 것이 중요합니다. . 널리 사용되는 Olson 데이터베이스를 준수하는 문자열 표현(예: EST의 경우 "-5:00") 또는 정식 이름(예: "America/New_York")일 수 있습니다.

사용 Python-dateutil 라이브러리

Python-dateutil 라이브러리는 다음과 같은 편리한 tzinfo 구현을 제공합니다. 이러한 변환을 쉽게 처리하는 데 사용됩니다.

다음은 변환을 보여주는 예입니다.

# Import the necessary libraries
from datetime import datetime, strptime
from dateutil import tz

# Convert UTC datetime string to a datetime object with UTC timezone
utc_string = "2011-01-21 02:37:21"
utc_datetime = strptime(utc_string, '%Y-%m-%d %H:%M:%S')
utc_datetime = utc_datetime.replace(tzinfo=tz.tzutc())

# Create a timezone object for the desired local time
local_timezone = tz.gettz('America/New_York')

# Convert the UTC datetime object to the local timezone
local_datetime = utc_datetime.astimezone(local_timezone)

# Print the converted local datetime
print(local_datetime)
로그인 후 복사

이 예에서는 utc_string이 UTC 형식인 것으로 가정하고 변환이 수행됩니다. America/New_York 시간대입니다. 결과 local_datetime은 적용 가능한 시간 오프셋 및 일광 절약 시간 규칙을 고려하여 적절하게 조정됩니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿