Heim >Backend-Entwicklung >Python-Tutorial >Wie konvertiere ich Zeitstempel mit Zeitversätzen in Python-Datetime-Objekte?

Wie konvertiere ich Zeitstempel mit Zeitversätzen in Python-Datetime-Objekte?

DDD
DDDOriginal
2024-11-27 15:04:10690Durchsuche

How to Convert Timestamps with Time Offsets to Python datetime Objects?

Konvertieren von Zeitstempeln mit Offset in Datetime-Objekte mithilfe von strptime

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:

Ignorieren der Zeitzone

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

Verwendung des dateutil-Moduls

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.

Python 3.2 oder höher

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!

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