Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Zeitstempel mit Zeitversatz in Datetime-Objekte in Python konvertieren?

Wie kann ich Zeitstempel mit Zeitversatz in Datetime-Objekte in Python konvertieren?

Barbara Streisand
Freigeben: 2024-11-26 10:03:10
Original
968 Leute haben es durchsucht

How Can I Convert Timestamps with Time Offsets to Datetime Objects in Python?

Konvertieren von Zeitstempeln mit Offsets in Datetime-Objekte mit strptime

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:

  1. 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')
    Nach dem Login kopieren
  2. 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)
    Nach dem Login kopieren

    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')
    Nach dem Login kopieren

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!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage