Heim >Backend-Entwicklung >Python-Tutorial >Wie konvertiere ich Zeitstempel mit Zeitversätzen in Python-Datetime-Objekte?
Beim Arbeiten mit Zeitstempeln, die einen Zeitoffset enthalten, z. B. „2012-07-24T23:14:29- 07:00: Bei der Konvertierung in Python-Datetime-Objekte mithilfe der strptime-Methode können Probleme auftreten. Das in der strptime-Funktion angegebene Standardformat unterstützt keine Zeitversätze.
Sie können jedoch verschiedene Strategien ausprobieren, um diese Konvertierung zu beheben:
Wenn Sie dies tun Wenn Sie die Zeitzoneninformationen nicht beibehalten müssen, können Sie sie bei der Konvertierung ignorieren. Dies kann durch Aufteilen der Zeitstempelzeichenfolge erreicht werden, um den Offset auszuschließen:
time_str = "2012-07-24T23:14:29-07:00" time_str_no_offset = time_str[:19] # Remove the offset portion time_obj = datetime.datetime.strptime(time_str_no_offset, "%Y-%m-%dT%H:%M:%S") # Convert without offset
Eine alternative Lösung besteht darin, das dateutil-Modul zu nutzen. Es bietet eine Analysefunktion, die Zeitstempel mit Offsets verarbeiten kann:
from dateutil.parser import parse time_obj = parse(time_str)
Die Analysefunktion erkennt automatisch die Zeitzoneninformationen und fügt sie in das resultierende Datum/Uhrzeit-Objekt ein.
Wenn Sie Python 3.2 oder neuer verwenden, wurde die Zeitzonenunterstützung verbessert. Sie können den Formatbezeichner %z verwenden, um den Zeitzonenversatz einzubeziehen:
time_str = "2012-07-24T23:14:29-07:00" time_obj = datetime.datetime.strptime(time_str, "%Y-%m-%dT%H:%M:%S%z")
Beachten Sie, dass der letzte Doppelpunkt im Format entfernt werden muss und der Bindestrich vor dem Versatz durch ein Pluszeichen oder ersetzt werden sollte ein Minuszeichen, abhängig von der Offset-Richtung.
Durch die Implementierung dieser Ansätze können Sie Zeitstempel mit Offsets effektiv in Datetime-Objekte in Python konvertieren und so Ihren spezifischen Anforderungen gerecht werden Anforderungen.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich Zeitstempel mit Zeitversätzen in Python-Datetime-Objekte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!