# 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.

## 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.

```python
datetime.strptime(date_string, format)
```

### `datetime.datetime()`

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

```python
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
```

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.

```python
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
```

`'%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.

```python
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
```

`'%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.


This is a markdown version of: [https://www.ionos.com/de-ch/digitalguide/websites/web-entwicklung/python-string-to-datetime-konvertieren/](https://www.ionos.com/de-ch/digitalguide/websites/web-entwicklung/python-string-to-datetime-konvertieren/) for AI/LLM consumption.