Wie konvertiere ich Zeitstempel mit Zeitzonen-Offsets in Python-Datetime-Objekte?

DDD
Freigeben: 2024-11-27 05:48:09
Original
421 Leute haben es durchsucht

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

Konvertieren von Zeitstempeln mit Offset in Datetime-Objekte mit strptime

Konvertieren von Zeitstempeln aus dem Format „JJJJ-MM-TTTHH:MM:SS-hh:mm“ in Datetime-Objekte in Python kann die Verwendung der strptime-Methode aufgrund der Zeitversatzinformationen eine Herausforderung sein.

Im bereitgestellten Beispiel: strptime kann den Zeitstempel mit dem Offset „-07:00“ im Format „%Y-%m-%dT%H:%M:%S-%z“ nicht analysieren. Dies liegt daran, dass strptime die „%z“-Direktive für Zeitzonen in Python 2 nicht nativ unterstützt.

Problemumgehungsoptionen:

1. Ignorieren Sie die Zeitzone:

Wenn die Zeitzoneninformationen nicht entscheidend sind, können Sie sie ignorieren, indem Sie die Zeichenfolge bis zum Offset analysieren:

time_str = "2012-07-24T23:14:29-07:00"
time_obj = datetime.datetime.strptime(time_str[:19], '%Y-%m-%dT%H:%M:%S')
Nach dem Login kopieren

2. Verwenden Sie das dateutil-Modul:

Alternativ bietet das dateutil-Modul eine robustere Parsing-Funktion, die Zeitzonen unterstützt:

from dateutil.parser import parse
time_obj = parse(time_str)
Nach dem Login kopieren

Python 3-Unterstützung:

In Python 3.2 und höher gibt es eine verbesserte Unterstützung für die Zeitzonenbehandlung. Entfernen des letzten „:“ aus dem Offset und Ersetzen von „-“ durch „ „:

time_str = "2012-07-24T23:14:29-07:00"
time_obj = datetime.datetime.strptime(''.join(time_str.rsplit(':', 1)), '%Y-%m-%dT%H:%M:%S%z')
Nach dem Login kopieren

Dadurch wird der Zeitstempel korrekt analysiert und ein Datetime-Objekt mit dem angegebenen Zeitzonenoffset erstellt.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich Zeitstempel mit Zeitzonen-Offsets in Python-Datetime-Objekte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage