Heim > Artikel > Backend-Entwicklung > Wie konvertiert man mithilfe der Python-Standardbibliothek UTC-Datetime in lokales Datetime?
Konvertieren von UTC-Datetime in lokale Datetime mithilfe der Python-Standardbibliothek
Beim Umgang mit Datetime-Objekten ist es oft notwendig, zwischen UTC (Coordinated Weltzeit) und Ortszeit. Die Python-Standardbibliothek bietet integrierte Funktionen, um dies zu erreichen.
Pytz-Alternative für Python 3.3
In Python 3.3 und höher vereinfacht das Zeitzonenmodul den Konvertierungsprozess:
<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>
Lösung für Python 2/3
Für Python 2 und 3 besteht ein alternativer Ansatz in der Verwendung von Calendar.timegm und datetime.fromtimestamp:
<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>
Beispielverwendung
Um die Konvertierung zu veranschaulichen, betrachten Sie das folgende Beispiel:
<code class="python">from datetime import datetime utc_dt = datetime(2023, 7, 18, 12, 0, 0, tzinfo=timezone.utc) local_dt = utc_to_local(utc_dt) print(local_dt)</code>
Ausgabe:
2023-07-18 18:00:00.000000+06:00
Hinweis für DateTime ohne Mikrosekundenauflösung
In Fällen, in denen die UTC-Datumszeit keine Mikrosekundenauflösung hat, kann die astimezone-Methode Mikrosekundenwerte einführen, die in der ursprünglichen Datumszeit nicht vorhanden sind. Um die Präzision zu gewährleisten, verwenden Sie die für Python 2/3 bereitgestellte alternative Methode.
Umgang mit Sommerzeitänderungen
Beide Lösungen berücksichtigen Sommerzeitänderungen (DST) korrekt Konvertieren Sie die UTC-Datumszeit in die entsprechende Ortszeit, wobei die Sommerzeit je nach Bedarf angewendet oder entfernt wird.
Das obige ist der detaillierte Inhalt vonWie konvertiert man mithilfe der Python-Standardbibliothek UTC-Datetime in lokales Datetime?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!