# Hoe een string omzetten naar datum en tijd in Python

Datetime-objecten maken eenvoudige tijdberekeningen mogelijk, waaronder het optellen of aftrekken van intervallen. **Het omzetten van strings naar datetime-objecten** is essentieel voor het nauwkeurig organiseren, analyseren en weergeven van tijdgegevens in Python.

## Hoe werkt het omzetten van strings naar datetime in Python?

Het converteren van een Python-string naar datetime houdt in dat een tekstreeks, die een datum en/of tijd bevat, wordt omgezet in een datetime-object. Datetime is een Python-gegevensstructuur die is ontworpen om **datum- en tijdinformatie** te verwerken en aan te passen. Het converteren van strings naar datetime is vaak nodig om datum- en tijdgegevens te verwerken die in stringformaat worden weergegeven.

De gegevens worden omgezet naar een **formaat dat** onder andere **kan worden gebruikt** om berekeningen uit te voeren, datums te vergelijken of tijdinformatie op te maken. Methoden voor het samenvoegen van expressies met behulp van Python-stringformaat kunnen ook nuttig zijn bij het beheren van datetime-objecten.

## Hoe strings omzetten naar datetime-objecten in Python

Er zijn verschillende functies en modules, zoals de `datetime` library en de `strptime()` method, die u kunt gebruiken om strings om te zetten naar datetime-objecten en vice versa.

### `strptime()`

De methode `strptime()` (string parse time) uit de bibliotheek `datetime` wordt gebruikt om een string om te zetten in een Python datetime-object. Er zijn **twee argumenten** nodig: de string die moet worden geparseerd en het datum-/tijdformaat van de string.

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

### `datetime.datetime()`

Met de `strptime()` methode kan een tekenreeks worden omgezet in een `datetime.datetime`, waarbij rekening wordt gehouden met een specifieke datum-/tijdnotatie.

```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 dit voorbeeld wordt `date_string` gespecificeerd als `'2023-10-30 12:00:00'` en definieert het formaat `'%Y-%m-%d %H:%M:%S'` de volgorde en hoe de datum en tijd in de tekenreeks moeten worden weergegeven. De methode `strptime()` interpreteert de tekenreeks op basis van dit formaat en genereert een `datetime.datetime`, dat vervolgens wordt opgeslagen in de variabele `date_object`.

Dit is wat `'%Y-%m-%d %H:%M:%S'` betekent:

- **`%Y`**: Viercijferig jaartal
- **`%m`**: Twee cijfers voor de maand
- **`%d`**: Twee cijfers voor de dag
- **`%H`**: Uur (24-uursnotatie)
- **`%M`**: Minuten
- **`%S`**: Seconden

### `datetime.time()`

Door strings om te zetten in een `datetime.time`, kun je **tijden zonder datum** weergeven. Dit kan worden gedaan met behulp van de `strptime()` uit de `datetime`, of door een tijdstring op te splitsen in uren, minuten en seconden.

```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'` staat voor het formaat uren:minuten:seconden. De methode `strptime()` interpreteert de tijdstring volgens dit formaat en maakt een `datetime.time` aan.

### `datetime.date()`

Als alternatief kunt u een tekenreeks omzetten in een `datetime.date` door de `strptime()` uit de `datetime` te gebruiken, of door de datumtekenreeks handmatig op te splitsen in jaar-, maand- en dagcomponenten.

```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'` is het jaar-maand-dagformaat. De `strptime()` analyseert de datumstring en maakt een `datetime.date` aan.

## Hoe `strptime()` fouten op te lossen

Wanneer u de `strptime()` -methode gebruikt om strings om te zetten naar datetime-objecten in Python, kunt u fouten tegenkomen, vooral als het opgegeven formaat niet overeenkomt met het formaat van de invoerstring. Hier volgen enkele veelvoorkomende fouten en manieren om ze op te lossen:

- **`ValueError: time data '...' does not match format '...'`**: Deze fout treedt op als de invoerreeks niet overeenkomt met het opgegeven formaat. Controleer of het juiste formaatpatroon is gebruikt in `strptime()`.
- **`ValueError: unconverted data remains`**: Deze foutmelding wordt weergegeven als er na verwerking van de tekenreeks nog niet-geïnterpreteerde gegevens overblijven. Zorg ervoor dat het formaatpatroon alle delen van de invoertekenreeks omvat.
- **`TypeError: strptime() argument 1 must be str, not ...`**: Dit kan gebeuren als de parameter die is doorgegeven aan `strptime()` geen tekenreeks is. Zorg ervoor dat de opgegeven waarde een tekenreeks is die het datum-/tijdformaat bevat.

U moet ervoor zorgen dat het formaatpatroon alle delen van de invoerreeks (jaar, maand, dag, tijd, enz.) correct interpreteert. Het is ook belangrijk om rekening te houden met mogelijke verschillen in scheidingstekens, hoofdletters en andere details tussen het formaatpatroon en de invoerreeks.


This is a markdown version of: [https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/converteer-strings-naar-datum-en-tijd-in-python/](https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/converteer-strings-naar-datum-en-tijd-in-python/) for AI/LLM consumption.