In diesem Beitrag möchte ich dir nun zeigen wie du Zeitdifferenzen mit Hilfe von timedelta am datetime Objekt in Python3 berechnest.
Das Modul datetime habe ich dir bereits im Beitrag Python #26 – Modul “datetime” vorgestellt und dort auch einige Beispiele gezeigt.
Das Objekt timedelta repräsentiert einen Zeitabstand / eine Differenz zwischen zwei Daten bzw. Uhrzeiten.
Zeitdifferenz mit timedelta & datetime
Nehmen wir zunächst den Zeitstempel von jetzt und geben uns diesen aus, danach möchten wir nun das Datum von morgen und von gestern ausgeben.
from datetime import datetime, timedelta jetzt = datetime.now() print("jetzt -> ",jetzt) morgen = jetzt + timedelta(days = 1) print("morgen -> ",morgen) gestern = jetzt - timedelta(days = 1) print("gestern -> ", gestern)
Im oben genannten Beitrag hatte ich dieses gemacht indem ich an dem Zeitstempel einfach 84600 Sekunden addiert bzw. subtrahiert habe. Einfacher, kürzer und vor allem deutlich lesbarer ist es mit dem timedelta denn dort können wir übergeben welches Feld am Zeitstempel erweitert werden soll.
Alternativ können wir uns auch ein timedelta erzeugen welches ohne Bezug zu einem festen Datum besteht.
from datetime import datetime,date,time, timedelta diff = timedelta(weeks=12, hours=5) now = datetime.now() print(now-diff)
Wir geben nun das Datum aus welches vor 12 Wochen und 5 Stunden war. Wenn wir dieses immer neu ausführen so wird dieses jeweils neu berechnet und ergibt jeweils immer einen anderen Zeitstempel aus.