Wie kann ich den Tag einer Datumszeit erhöhen?
for i in range(1, 35)
date = datetime.datetime(2003, 8, i)
print(date)
Aber ich muss Monate und Jahre richtig durchlaufen? Irgendwelche Ideen?
date = datetime.datetime(2003,8,1,12,4,5)
for i in range(5):
date += datetime.timedelta(days=1)
print(date)
Das Inkrementieren von Daten kann mithilfe von Zeitdelta-Objekten erfolgen:
Suchen Sie in den Python-Dokumenten nach timedelta-Objekten: http://docs.python.org/library/datetime.html
quelle
Hier ist eine andere Methode, um Tage am Datum mithilfe des relativedelta von dateutil hinzuzufügen.
Ausgabe:
quelle
timedelta()
von stdlib verwenden?Alle aktuellen Antworten sind in einigen Fällen falsch, da sie nicht berücksichtigen, dass Zeitzonen ihren Versatz relativ zu UTC ändern. In einigen Fällen unterscheidet sich das Hinzufügen von 24 Stunden vom Hinzufügen eines Kalendertages.
Vorgeschlagene Lösung
Die folgende Lösung funktioniert für Samoa und hält die Ortszeit konstant.
Getesteter Code
Testergebnisse
quelle
tzinfo == None
) Datumszeiten arbeiten.Dies war eine einfache Lösung für mich:
quelle
Sie können timedelta auch importieren, damit der Code sauberer ist.
Konvertieren Sie dann in Datum in Zeichenfolge
Python ist ein Liner
quelle
Eine kurze Lösung ohne Bibliotheken. :) :)
Stellen Sie sicher, dass " Zeichenfolge d " tatsächlich die Form hat,
%m/%d/%Y
damit Sie keine Probleme beim Übergang von einem Monat zum nächsten haben.quelle
d
,8/31/18
wird zurückgegeben8/32/18
. Wenn Sie das Jahr von ändern18
, bricht es einfach.