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!