2010-07-13 14 views
87

Wie erhöht man den Tag in Datetime? In Python.Wie erhöht man den Tag in Datetime? Python

for i in xrange(1,5) 
    date=datetime.datetime(2003,8,i,12,4,5) 
    print date 

Aber ich brauche Jahre durch? Irgendwelche Ideen? Sollte easyier Weg ....

Antwort

159
date = datetime.datetime(2003,8,1,12,4,5) 
for i in range(5): 
    date += datetime.timedelta(days=1) 
    print(date) 
+2

@Pol, denken Sie daran, Ihre Antworten zu akzeptieren ... –

+4

Wenn Sie Sommerzeit berücksichtigen müssen; es ist komplizierter zB siehe [Wie kann ich einen Tag von einem Python-Datum subtrahieren?] (http://stackoverflow.com/a/25427822/4279) – jfs

+2

funktioniert nicht für 06/30 + 1Tag => 06/31 muss 07/01 sein !!! – m3asmi

41

Inkrementieren Daten erreicht werden kann Timedelta Objekte mit:

import datetime 

datetime.datetime.now() + datetime.timedelta(days=1) 

nachschlagen Timedelta Objekte in den Python-Dokumentation: http://docs.python.org/library/datetime.html

4

Hier ist eine andere Methode ist, Tage unter Verwendung des relativen Datums von dateutil hinzufügen.

from datetime import datetime 
from dateutil.relativedelta import relativedelta 

print 'Today: ',datetime.now().strftime('%d/%m/%Y %H:%M:%S') 
date_after_month = datetime.now()+ relativedelta(day=1) 
print 'After a Days:', date_after_month.strftime('%d/%m/%Y %H:%M:%S') 

Ausgang:

Heute: 25/06/2015 20:41:44

nach einem Tag: 01.06.2015 20.41.44

+0

Warum würden Sie es anstelle von 'timedelta()' von stdlib verwenden? – jfs

+2

@ J.F.Sebastian Nur um eine andere mögliche Möglichkeit zu teilen, Tag hinzuzufügen. –

+0

Wenn es keinen Vorteil gibt, denke ich nicht, dass es einen Mehrwert bringt. –

Verwandte Themen