날짜 시간 작업을 할 때, 특히 지속되는 데이터를 검색하고 표시할 때 서로 다른 시간대 간에 변환해야 하는 경우가 많습니다. 이 문서에서는 Python 표준 라이브러리만 사용하여 UTC 날짜 시간을 현지 날짜 시간으로 변환하는 방법을 보여 주며 Python 2 및 3에 대한 여러 솔루션을 제공합니다.
UTC 날짜 시간을 다음으로 변환하려면 현지 날짜/시간을 사용하려면 기본 현지 시간대를 알아야 합니다. 불행하게도 Python은 이 정보를 검색하는 간단한 방법을 제공하지 않습니다. 그러나 이를 표현하기 위해 시간대 객체를 생성하고 사용할 수 있습니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!