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 중국어 웹사이트의 기타 관련 기사를 참조하세요!