So analysieren Sie einen String in eine Datums- und Uhrzeitangabe in Python (strptime)
Erfahren Sie, wie Sie in Python Zeichenfolgen in Datetime-Objekte konvertieren. Beherrschen Sie die strptime-Methode, analysieren Sie Datumszeichenfolgen, verarbeiten Sie Zeitzonen und verhindern Sie Formatfehler.
Übersicht
Wenn Sie Anwendungen erstellen, die Benutzerformularübermittlungen verarbeiten, Webdatenbanken durchsuchen, Serverprotokolle analysieren oder CSV-Tabellen importieren, erhalten Sie häufig Datums- und Uhrzeitinformationen als Rohtextzeichenfolgen (z. B. „2026-05-25 15:45““). Da Sie keine Berechnungen, Datumsarithmetik oder Sortierung für Zeichenfolgen durchführen können, müssen Sie diese in Python-Datetime-Objekte analysieren.
Die primäre Methode für diese Konvertierung ist „datetime.strptime(date_string, format_string)“. Der Name steht für „String Parse Time“. Die Funktion verwendet die rohe Datumszeichenfolge und eine Formatvorlage mit Anweisungen (wie „%Y“ für Jahr, „%m“ für Monat und „%d“ für Tag) und gibt ein entsprechendes Datum/Uhrzeit-Objekt zurück.
Wenn die Eingabezeichenfolge nicht genau mit der bereitgestellten Formatvorlage übereinstimmt, löst Python einen „ValueError“ aus. Um Abstürze zu vermeiden, schließen Sie „strptime()“-Vorgänge immer in einen „try-exclusive“-Block ein. Für Anwendungen, die verschiedene, unstrukturierte Datumseingaben analysieren, können externe Bibliotheken wie „python-dateutil“ dabei helfen, die Parser-Erkennung zu automatisieren.
Code- und Ausführungsausgabe
Dieses Skript demonstriert das Parsen von Datumszeichenfolgen mithilfe von datetime.strptime, die Behandlung ungültiger Eingaben und die Berechnung von Datumsunterschieden.
from datetime import datetime
# 1. Basic parsing using strptime
date_str = "2026-05-25 18:30:00"
format_template = "%Y-%m-%d %H:%M:%S"
parsed_date = datetime.strptime(date_str, format_template)
print("Parsed DateTime:", parsed_date)
print("Month parsed:", parsed_date.month)
print("Hour parsed:", parsed_date.hour)
# 2. Handling parse errors safely
bad_date_str = "25/05/2026"
try:
datetime.strptime(bad_date_str, "%Y-%m-%d")
except ValueError as e:
print(f"\nParse Error: {e}")
# Correcting the format
corrected_date = datetime.strptime(bad_date_str, "%d/%m/%Y")
print("Corrected Parse:", corrected_date.date())Parsed DateTime: 2026-05-25 18:30:00
Month parsed: 5
Hour parsed: 18
Parse Error: time data '25/05/2026' does not match format '%Y-%m-%d'
Corrected Parse: 2026-05-25Schrittweise Umsetzung
- Importieren Sie die Datetime-Klasse aus dem Datetime-Modul.
- Identifizieren Sie die genaue Struktur Ihrer Datumszeichenfolge (z. B. Tag, Monat, Trennzeichen).
- Rufen Sie datetime.strptime(date_string, format_pattern) mit entsprechenden Anweisungen auf (wie %Y, %m, %d).
- Schließen Sie die Parsing-Anweisung in einen Try-Exception-ValueError-Block ein, um fehlerhafte Zeichenfolgen ordnungsgemäß zu behandeln.
Häufig gestellte Fragen
Was ist der Unterschied zwischen strftime und strptime?
strptime (String-Parse-Zeit) analysiert einen String, um ein Datetime-Objekt zu erstellen. strftime (String-Format-Zeit) formatiert ein Datetime-Objekt in eine lesbare String-Darstellung.
Wie analysiere ich ISO 8601-Datumszeichenfolgen (z. B. „2026-05-25T18:30:00Z“)?
InPython 3.7+ können Sie die integrierte Funktion datetime.fromisoformat(string) verwenden, die ISO-Strings effizient verarbeitet, ohne dass eine manuelle Formatvorlage erforderlich ist.
Verwandte Themen
Erfahren Sie, wie Sie mithilfe des datetime-Moduls das aktuelle Datum und die aktuelle Uhrzeit in Python abrufen. Formatieren Sie Datumsangaben mit strftime in Zeichenfolgen und verarbeiten Sie Zeitzonen.
So konvertieren Sie String in Int in PythonErfahren Sie, wie Sie in Python mithilfe der Funktion int() einen String in eine Ganzzahl konvertieren. Behandeln Sie Fehler sicher und konvertieren Sie Zahlen aus Binär-, Oktal- oder Hexadezimalwerten.
Empfohlene Python-Ressourcen
Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.
Python-Strings
Master-String-Manipulation in Python. Lernen Sie String-Methoden, Slicing-, Verkettungs- und Formatierungstechniken anhand klarer, ausführbarer Codebeispiele.
Spickzettel für Python-String-Methoden
Ein vollständiges Referenzhandbuch für die Python-String-Manipulation. Meistern Sie das Formatieren, Suchen, Teilen, Ersetzen und Überprüfen von Zeichenfolgeneigenschaften.
Python Decorators vs. Decorator Design Pattern: Die wichtigsten Unterschiede
Vergleichen Sie Python-Dekoratoren und das klassische Dekorator-Designmuster. Verstehen Sie die Unterschiede zwischen dem Funktionsumbruch zur Definitionszeit und der dynamischen Objektkomposition zur Laufzeit mit ausführbarem Code.