In Python dient die Methode strptime() als praktikable Option zum Konvertieren von Zeitstempelzeichenfolgen in Datetime-Objekte. Wenn beim Umgang mit Zeitversätzen jedoch ein Fehler auftritt, kann dies oft zu Frustration führen. Ziel dieses Artikels ist es, Licht auf dieses spezielle Problem zu werfen und praktikable Lösungen bereitzustellen.
Beim Umgang mit Zeitstempeln, die Zeitversätze enthalten, führt die Verwendung von %z innerhalb der Formatzeichenfolge für strptime() möglicherweise nicht immer zum gewünschten Ergebnis. Dies liegt daran, dass die zugrunde liegende Funktion time.strptime() diesen speziellen Formatcode nicht unterstützt. Um diese Herausforderung zu meistern, sollten Sie alternative Ansätze in Betracht ziehen:
Zeitzone beim Parsen ignorieren:
Wenn die Zeitzoneninformationen für Ihre Anwendung nicht entscheidend sind, analysieren Sie den Zeitstempel string ohne Berücksichtigung des Offsets ist eine einfache Lösung. Um dies zu erreichen, kürzen Sie einfach die Zeitzeichenfolge, um den Offset zu entfernen, bevor Sie strptime() aufrufen:
time_obj = datetime.datetime.strptime(time_str[:19], '%Y-%m-%dT%H:%M:%S')
Verwenden Sie das dateutil-Modul:
Für Situationen Wenn Sie die Zeitzonendetails benötigen, bietet das Modul dateutil ein wertvolles Tool. Seine parse()-Funktion verarbeitet Zeitzonen effektiv und ermöglicht es Ihnen, das gewünschte datetime-Objekt zu erhalten:
from dateutil.parser import parse time_obj = parse(time_str)
Darüber hinaus kann %z für diejenigen, die Python 3.2 oder höher verwenden, mit strptime() verwendet werden, sofern letzteres vorausgesetzt wird Der Doppelpunkt in der Eingabe wird entfernt und der Bindestrich vor %z wird ebenfalls entfernt:
datetime.datetime.strptime(''.join(time_str.rsplit(':', 1)), '%Y-%m-%dT%H:%M:%S%z')
Indem Sie diese nutzen Problemumgehungen: Sie können Zeitstempel mit Zeitversätzen effektiv in Datetime-Objekte in Python konvertieren. Unabhängig davon, ob Sie Wert auf Effizienz legen oder die Bewahrung von Zeitzoneninformationen benötigen, können Sie mit diesen Lösungen die gewünschten Ergebnisse erzielen.
Das obige ist der detaillierte Inhalt vonWie kann ich Zeitstempel mit Zeitversatz in Datetime-Objekte in Python konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!