Heim >Backend-Entwicklung >Python-Tutorial >Wie konvertiere ich UTC-Datumszeit in lokale Datumszeit in Python mithilfe der Standardbibliothek?

Wie konvertiere ich UTC-Datumszeit in lokale Datumszeit in Python mithilfe der Standardbibliothek?

Susan Sarandon
Susan SarandonOriginal
2024-11-03 06:00:04699Durchsuche

How to Convert UTC Datetime to Local Datetime in Python Using the Standard Library?

Konvertieren von UTC Datetime in lokale Datetime mithilfe der Standardbibliothek

Das Konvertieren einer UTC-Datetime-Instanz in eine lokale Datetime kann mithilfe der Standardbibliothek in erfolgen Python. Eine gängige Lösung ist die Verwendung der astimezone-Methode, die jedoch die Bereitstellung eines Zeitzonenobjekts erfordert. Hier sind alternative Ansätze, die nur die Standardbibliothek verwenden:

Python 3.3:

<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:

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

def utc_to_local(utc_dt):
    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>

Verwendung von pytz (Python 2/3):

<code class="python">import pytz

local_tz = pytz.timezone('Europe/Moscow') # Provide your local timezone name

def utc_to_local(utc_dt):
    local_dt = utc_dt.replace(tzinfo=pytz.utc).astimezone(local_tz)
    return local_tz.normalize(local_dt)</code>

Beispiel:

<code class="python">def aslocaltimestr(utc_dt):
    return utc_to_local(utc_dt).strftime('%Y-%m-%d %H:%M:%S.%f %Z%z')

utc_dt = datetime(2010, 6, 6, 17, 29, 7, 730000)
print(aslocaltimestr(utc_dt))</code>

Dadurch wird die lokale Datei gedruckt Datum/Uhrzeit-Zeichenfolge basierend auf der Standardzeitzone.

Hinweis: Die Standardzeitzone ist nicht immer zuverlässig und kann je nach Systemeinstellungen variieren. Für zuverlässigere und plattformübergreifende Ergebnisse wird empfohlen, die lokale Zeitzone explizit anzugeben.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich UTC-Datumszeit in lokale Datumszeit in Python mithilfe der Standardbibliothek?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn