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.
- Flexibel: Hosting, das jedem Website-Traffic standhält
- Verlässlich: Inklusive 24/7-Support und persönlicher Beratung
- Sicher: Kostenloses SSL-Zertifikat, DDoS-Schutz und Backups
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)
pythondatetime.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
pythonIn 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 instrptime()
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 anstrptime()
ü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.