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

Wie konvertiere ich Zeitstempel mit Zeitzonenversätzen in DateTime-Objekte in Python?

Barbara Streisand
Barbara StreisandOriginal
2024-11-29 19:37:111051Durchsuche

How to Convert Timestamps with Timezone Offsets to DateTime Objects in Python?

Konvertieren von Zeitstempeln mit Offset in Datetime-Objekte mit strptime

Problem

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.

Problemumgehungen

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)

Python 3.2 und neuer

Für Python-Versionen 3.2 und höher Die Zeitzonenunterstützung wurde verbessert. %z funktioniert nach dem Anpassen der Formatzeichenfolge wie folgt:

  • Entfernen Sie den letzten Doppelpunkt aus der Formatzeichenfolge.
  • Entfernen Sie das „-“ vor dem %z-Bezeichner.
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!

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