Konvertieren von Zeitstempeln des Formats „2012-07-24T23:14:29- 07:00" auf Datetime-Objekte mit strptime() zu übertragen, kann aufgrund des Zeitversatzes bei problematisch sein das Ende (-07:00). Ohne den Offset ist es möglich, strptime() wie folgt zu verwenden:
time_str = "2012-07-24T23:14:29" time_obj = datetime.datetime.strptime(time_str, '%Y-%m-%dT%H:%M:%S')
Die Verwendung des bereitgestellten Zeitoffsets führt jedoch zu einem ValueError, da die „z“-Direktive nicht unterstützt wird.
Es gibt zwei primäre Problemumgehungen:
1. Ignorieren Sie die Zeitzone mit strptime():
Entfernen Sie den Zeitzonenteil aus dem Zeitstempel vor dem Parsen:
time_obj = datetime.datetime.strptime(time_str[:19], '%Y-%m-%dT%H:%M:%S')
2. Verwenden Sie dateutil.parser:
Das dateutil-Modul bietet eine Analysefunktion, die Zeitzonen unterstützt:
from dateutil.parser import parse time_obj = parse(time_str)
Für Python-Versionen 3.2 und höher Die Zeitzonenunterstützung wurde verbessert. %z funktioniert nach dem Anpassen der Formatzeichenfolge wie folgt:
time_obj = datetime.datetime.strptime(time_str, '%Y-%m-%dT%H:%M:%S%z')
Das obige ist der detaillierte Inhalt vonWie konvertiere ich Zeitstempel mit Zeitzonenversätzen in DateTime-Objekte in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!