>  기사  >  백엔드 개발  >  Python의 표준 라이브러리를 사용하여 UTC 날짜 시간을 현지 시간대로 변환하는 방법은 무엇입니까?

Python의 표준 라이브러리를 사용하여 UTC 날짜 시간을 현지 시간대로 변환하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-01 14:20:29593검색

How to Convert UTC Datetime to Local Timezone Using Python's Standard Library?

표준 라이브러리를 사용하여 UTC 날짜 시간을 현지 시간대로 변환

날짜 시간 작업을 할 때, 특히 지속되는 데이터를 검색하고 표시할 때 서로 다른 시간대 간에 변환해야 하는 경우가 많습니다. 이 문서에서는 Python 표준 라이브러리만 사용하여 UTC 날짜 시간을 현지 날짜 시간으로 변환하는 방법을 보여 주며 Python 2 및 3에 대한 여러 솔루션을 제공합니다.

기본 현지 시간대

UTC 날짜 시간을 다음으로 변환하려면 현지 날짜/시간을 사용하려면 기본 현지 시간대를 알아야 합니다. 불행하게도 Python은 이 정보를 검색하는 간단한 방법을 제공하지 않습니다. 그러나 이를 표현하기 위해 시간대 객체를 생성하고 사용할 수 있습니다.

datetime.astimezone() 사용

Python 3.3에서는 datetime.astimezone(tz) 메서드를 활용하여 날짜 시간을 현지 시간대로 변경합니다. 그러나 여전히 timezone.utc를 사용하여 얻을 수 있는 기본 현지 시간대를 얻어야 합니다.

<code class="python">from datetime import datetime, timezone

def utc_to_local(utc_dt):
    return utc_dt.replace(tzinfo=timezone.utc).astimezone(tz=None)</code>

캘린더 및 날짜/시간 사용

Python 2/3에서 datetime.astimezone ()를 사용할 수 없는 경우 다음 접근 방식을 사용할 수 있습니다.

<code class="python">import calendar
from datetime import datetime, timedelta

def utc_to_local(utc_dt):
    # get integer timestamp to avoid precision lost
    timestamp = calendar.timegm(utc_dt.timetuple())
    local_dt = datetime.fromtimestamp(timestamp)
    assert utc_dt.resolution >= timedelta(microseconds=1)
    return local_dt.replace(microsecond=utc_dt.microsecond)</code>

사용 예

다음은 사용자 정의 형식 지정 기능과 함께 utc_to_local() 함수를 사용하는 예입니다.

<code class="python">from datetime import datetime

def aslocaltimestr(utc_dt):
    return utc_to_local(utc_dt).strftime('%Y-%m-%d %H:%M:%S.%f %Z%z')

utc_dt1 = datetime(2010, 6, 6, 17, 29, 7, 730000)
utc_dt2 = datetime(2010, 12, 6, 17, 29, 7, 730000)
utc_dt3 = datetime.utcnow()

print(aslocaltimestr(utc_dt1))
print(aslocaltimestr(utc_dt2))
print(aslocaltimestr(utc_dt3))</code>

결론

Python의 표준 라이브러리만 사용하여 UTC 날짜 시간을 현지 날짜 시간으로 변환하려면 시간대 객체를 생성하거나 달력 및 날짜 시간 작업과 관련된 보다 복잡한 접근 방식을 사용해야 합니다. pytz 또는 tzlocal을 사용하는 것이 더 편리하지만 이러한 솔루션은 외부 종속성 없이 날짜/시간 변환을 처리하기 위한 Python 표준 라이브러리의 유연성을 보여줍니다.

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

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