Beregning av en dato i fremtiden eller fortiden

Python:
Beregning av en dato i fremtiden eller fortiden

Hvordan gjør man det:

Bruk datetime biblioteket i Python. For å legge til dager, bruk timedelta funksjonen.

from datetime import datetime, timedelta

# Dagens dato
i_dag = datetime.now()

# Beregne en fremtidig dato, si 10 dager fra nå
fremtidig_dato = i_dag + timedelta(days=10)
print(f"Fremtidig dato: {fremtidig_dato.strftime('%Y-%m-%d')}")

# Beregne en tidligere dato, si 10 dager siden
tidligere_dato = i_dag - timedelta(days=10)
print(f"Tidligere dato: {tidligere_dato.strftime('%Y-%m-%d')}")

Output kan se slik ut:

Fremtidig dato: 2023-04-18
Tidligere dato: 2023-03-29

Dypdykk

Historisk sett, før datetime modulen, måtte utviklere regne med sekunder og konvertere dem til dager, noe som var tungvint og feilutsatt. Noen alternativer til Pythons datetime inkluderer tredjepartsbiblioteker som Arrow og Pendulum som tilbyr enklere syntaks og tilleggsfunksjoner.

Detaljer:

  • datetime håndterer skuddsekunder og tidsendringer som sommertid.
  • Selve timedelta funksjonen støtter mer enn dager; det inkluderer minutter, sekunder, og mikrosekunder.
  • I systemer som trenger å håndtere gamle datoer (før 1900), må man bruke eksterne biblioteker fordi datetime kan ha begrensninger her.

Se også