Mit DateTime-Objekten können Sie Zeit­be­rech­nun­gen wie das Hin­zu­fü­gen oder Sub­tra­hie­ren von Zeit­in­ter­val­len einfach durch­füh­ren. Die Kon­ver­tie­rung von Strings in DateTime-Objekte spielt eine zentrale Rolle für die genaue Struk­tu­rie­rung, Analyse und Dar­stel­lung von Zeitdaten in der Python-Pro­gram­mie­rung.

So funk­tio­niert Python String to DateTime

Python String to DateTime ist ein Prozess zur Kon­ver­tie­rung eines Text­strings, der eine Datums- und/oder Zeit­dar­stel­lung enthält, in ein DateTime-Objekt. DateTime ist eine Da­ten­struk­tur in Python, um Datums- und Zeit­in­for­ma­tio­nen zu re­prä­sen­tie­ren und zu ma­ni­pu­lie­ren. Die Kon­ver­tie­rung von einem String zu DateTime kann notwendig sein, wenn Sie in Python mit Datums- und Zeit­an­ga­ben arbeiten, die als Zei­chen­ket­ten vorliegen.

Die In­for­ma­tio­nen werden so in ein nutzbares Format gewandelt, bei­spiels­wei­se um Be­rech­nun­gen durch­zu­füh­ren, Da­tums­ver­glei­che vor­zu­neh­men oder Zeit­an­ga­ben zu for­ma­tie­ren. Auch Python-String-Format-Methoden zur Ver­ket­tung von Aus­drü­cken können Ihnen bei der Arbeit mit DateTime-Objekten hilfreich sein.

Web­hos­ting
Das beste Web­hos­ting zum Spit­zen­preis
  • 3x schneller und 60 % günstiger
  • Maximale Ver­füg­bar­keit mit > 99.99 %
  • Nur bei IONOS: Bis zu 500 GB Spei­cher­platz inklusive

Strings in DateTime-Objekte kon­ver­tie­ren

Python String to Datetime umfasst ver­schie­de­ne Funk­tio­nen und Module, wie zum Beispiel die datetime-Bi­blio­thek und die strptime()- Methode, um Strings in DateTime-Objekte und umgekehrt zu kon­ver­tie­ren.

Ver­wen­dung von strptime()

Die Methode strptime() (String Parse Time) aus der datetime-Bi­blio­thek dient der Kon­ver­tie­rung eines Strings in ein Python-DateTime-Objekt. Sie benötigt zwei Argumente: den zu ana­ly­sie­ren­den String und das Datums-/Zeit­for­mat des Strings.

datetime.strptime(date_string, format)
python

datetime.datetime()

Die strptime()-Methode erlaubt die Kon­ver­tie­rung eines Strings in ein datetime.datetime-Objekt unter Be­rück­sich­ti­gung eines be­stimm­ten Datums-/Zeit­for­mats.

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 Rei­hen­fol­ge und das Er­schei­nungs­bild des Datums sowie der Uhrzeit im String. Die strptime()-Methode ana­ly­siert den String gemäß diesem Format und erstellt daraus ein datetime.datetime-Objekt, das dann in der Variable date_object ge­spei­chert wird.

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

  • %Y: Vier­stel­li­ge Jah­res­zahl
  • %m: Zwei­stel­li­ge Mo­nats­zahl
  • %d: Zwei­stel­li­ge Tagzahl
  • %H: Stunde (24-Stunden-Format)
  • %M: Minute
  • %S: Sekunde

datetime.time()

Durch die Kon­ver­tie­rung von Strings in ein datetime.time-Objekt können Sie Uhrzeiten ohne Datum dar­stel­len. 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 in­ter­pre­tiert den Zeit-String ent­spre­chend 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 Auf­tei­lung 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 ana­ly­siert den Datum-String und entwirft ein datetime.date-Objekt.

Trou­ble­shoo­ting strptime() Errors

Beim Einsatz der strptime()-Methode für Python String to DateTime können Ihnen Fehler begegnen, ins­be­son­de­re wenn das an­ge­ge­be­ne Format nicht mit dem Format des Eingabe-Strings über­ein­stimmt. Hier sind einige gängige Errors und Mög­lich­kei­ten, sie zu beheben:

  • ValueError: time data '...' does not match format '...': Dieser Fehler tritt auf, wenn der Eingabe-String nicht dem an­ge­ge­be­nen Format ent­spricht. Stellen Sie sicher, dass das korrekte For­mat­mus­ter in strptime() verwendet wurde.

  • ValueError: unconverted data remains: Dieser Error wird angezeigt, wenn nach der Ver­ar­bei­tung des Strings noch nicht in­ter­pre­tier­te Daten üb­rig­blei­ben. Über­prü­fen Sie das For­mat­mus­ter, 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. Kon­trol­lie­ren Sie, dass der über­ge­be­ne Wert ein String ist, der das Datums-/Zeit­for­mat enthält.

Sie sollten darauf achten, dass das For­mat­mus­ter alle Teile des Eingabe-Strings (Jahr, Monat, Tag, Uhrzeit etc.) korrekt in­ter­pre­tiert. Be­rück­sich­ti­gen Sie dabei mögliche Un­ter­schie­de in Trenn­zei­chen, Groß-/Klein­schrei­bung und anderen Details zwischen dem For­mat­mus­ter und dem Eingabe-String.

Zum Hauptmenü