Een datum in de toekomst of het verleden berekenen

Python:
Een datum in de toekomst of het verleden berekenen

Hoe:

Python’s datetime module maakt werken met datums en tijden een fluitje van een cent. Kijk maar:

from datetime import datetime, timedelta

# Huidige datum en tijd
now = datetime.now()
print("Nu: ", now)

# 10 dagen toevoegen
toekomstige_datum = now + timedelta(days=10)
print("Toekomstige datum (+10 dagen): ", toekomstige_datum)

# 5 dagen aftrekken
verleden_datum = now - timedelta(days=5)
print("Verleden datum (-5 dagen): ", verleden_datum)

Uitvoer kan er zo uitzien:

Nu: 2023-04-01 12:34:56.789012
Toekomstige datum (+10 dagen): 2023-04-11 12:34:56.789012
Verleden datum (-5 dagen): 2023-03-27 12:34:56.789012

Simpel, toch? Pas gewoon de dagen aan, of gebruik weken, uren, minuten, of seconden in timedelta om naar de tijd te springen die je nodig hebt.

Diepe Duik

Heel lang geleden was het berekenen van datums en tijden een pijnlijke zaak. Je moest rekening houden met schrikkeljaren, tijdzones, zomertijd - een rommeltje. Met Python’s datetime en zijn metgezellen date en time, is het een gladde vaart. De module handelt de complicaties achter de schermen af.

Je zou kunnen vragen naar alternatieven. Zeker. Bibliotheken zoals dateutil kunnen omgaan met meer complexe datummanipulaties en parsing. Het is een go-to wanneer datetime net niet voldoende is.

Wat betreft implementatie, wanneer je timedelta gebruikt, past Python de datum aan rekening houdend met schrikkeljaren en dergelijke. Controleer altijd je resultaten - vooral wanneer je te maken hebt met tijdzones. En onthoud, datetime is standaard naïef; het houdt geen rekening met tijdzones, tenzij je het opdraagt.

Zie ook