Python: String to DateTime konvertieren und einsetzen

Mit DateTime-Objekten können Sie Zeitberechnungen wie das Hinzufügen oder Subtrahieren von Zeitintervallen einfach durchführen. Die Konvertierung von Strings in DateTime-Objekte spielt eine zentrale Rolle für die genaue Strukturierung, Analyse und Darstellung von Zeitdaten in der Python-Programmierung.

So funktioniert Python String to DateTime

Python String to DateTime ist ein Prozess zur Konvertierung eines Textstrings, der eine Datums- und/oder Zeitdarstellung enthält, in ein DateTime-Objekt. DateTime ist eine Datenstruktur in Python, um Datums- und Zeitinformationen zu repräsentieren und zu manipulieren. Die Konvertierung von einem String zu DateTime kann notwendig sein, wenn Sie in Python mit Datums- und Zeitangaben arbeiten, die als Zeichenketten vorliegen.

Die Informationen werden so in ein nutzbares Format gewandelt, beispielsweise um Berechnungen durchzuführen, Datumsvergleiche vorzunehmen oder Zeitangaben zu formatieren. Auch Python-String-Format-Methoden zur Verkettung von Ausdrücken können Ihnen bei der Arbeit mit DateTime-Objekten hilfreich sein.

Günstige Webhosting-Pakete von IONOS!

Vertrauen Sie auf flexibel skalierbares und zuverlässiges Webhosting inklusive persönlichem Berater mit IONOS!

Kostenlose Domain
SSL Zertifikat
DDoS-Schutz

Strings in DateTime-Objekte konvertieren

Python String to Datetime umfasst verschiedene Funktionen und Module, wie zum Beispiel die datetime-Bibliothek und die strptime()- Methode, um Strings in DateTime-Objekte und umgekehrt zu konvertieren.

Verwendung von strptime()

Die Methode strptime() (String Parse Time) aus der datetime-Bibliothek dient der Konvertierung eines Strings in ein Python-DateTime-Objekt. Sie benötigt zwei Argumente: den zu analysierenden String und das Datums-/Zeitformat des Strings.

datetime.strptime(date_string, format)
python

datetime.datetime()

Die strptime()-Methode erlaubt die Konvertierung eines Strings in ein datetime.datetime-Objekt unter Berücksichtigung eines bestimmten Datums-/Zeitformats.

from datetime import datetime
date_string = '2023-10-30 12:00:00'
date_object = datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S')
print(date_object) # Output: 2023-10-30 12:00:00
python

In diesem Beispiel wird der date_string als '2023-10-30 12:00:00' angegeben, und das Format '%Y-%m-%d %H:%M:%S' definiert die Reihenfolge und das Erscheinungsbild des Datums sowie der Uhrzeit im String. Die strptime()-Methode analysiert den String gemäß diesem Format und erstellt daraus ein datetime.datetime-Objekt, das dann in der Variable date_object gespeichert wird.

Hier bedeutet '%Y-%m-%d %H:%M:%S':

  • %Y: Vierstellige Jahreszahl
  • %m: Zweistellige Monatszahl
  • %d: Zweistellige Tagzahl
  • %H: Stunde (24-Stunden-Format)
  • %M: Minute
  • %S: Sekunde

datetime.time()

Durch die Konvertierung von Strings in ein datetime.time-Objekt können Sie Uhrzeiten ohne Datum darstellen. Dies kann mit der strptime()-Methode der datetime-Klasse oder durch das Aufteilen eines Zeit-Strings in Stunden, Minuten und Sekunden erreicht werden.

from datetime import datetime
time_string = '14::30::00'
time_object = datetime.strptime(time_string, '%H::%M::%S').time()
print(time_object) # Output: 14:30:00
python

'%H:%M:%S' steht für das Stunden:Minuten:Sekunden-Format. Die strptime()-Methode interpretiert den Zeit-String entsprechend diesem Format und erzeugt ein datetime.time-Objekt.

datetime.date()

Sie können einen String auch in ein datetime.date-Objekt mithilfe der strptime()-Methode der datetime-Klasse oder durch die manuelle Aufteilung des Datums-Strings in Jahr, Monat und Tag umwandeln.

from datetime import datetime
date_string = '2023-11-30'
date_object = datetime.strptime(date_string, '%Y-%m-%d').date()
print(date_object) # Output: 2023-11-30
python

'%Y-%m-%d' ist das Jahr-Monat-Tag-Format. Die strptime()-Methode analysiert den Datum-String und entwirft ein datetime.date-Objekt.

Troubleshooting strptime() Errors

Beim Einsatz der strptime()-Methode für Python String to DateTime können Ihnen Fehler begegnen, insbesondere wenn das angegebene Format nicht mit dem Format des Eingabe-Strings übereinstimmt. Hier sind einige gängige Errors und Möglichkeiten, sie zu beheben:

  • ValueError: time data '...' does not match format '...': Dieser Fehler tritt auf, wenn der Eingabe-String nicht dem angegebenen Format entspricht. Stellen Sie sicher, dass das korrekte Formatmuster in strptime() verwendet wurde.

  • ValueError: unconverted data remains: Dieser Error wird angezeigt, wenn nach der Verarbeitung des Strings noch nicht interpretierte Daten übrigbleiben. Überprüfen Sie das Formatmuster, sodass alle Teile des Eingabe-Strings im Format abgedeckt sind.

  • TypeError: strptime() argument 1 must be str, not ...: Dies kann passieren, wenn der Parameter, der an strptime() übergeben wird, kein String ist. Kontrollieren Sie, dass der übergebene Wert ein String ist, der das Datums-/Zeitformat enthält.

Sie sollten darauf achten, dass das Formatmuster alle Teile des Eingabe-Strings (Jahr, Monat, Tag, Uhrzeit etc.) korrekt interpretiert. Berücksichtigen Sie dabei mögliche Unterschiede in Trennzeichen, Groß-/Kleinschreibung und anderen Details zwischen dem Formatmuster und dem Eingabe-String.