2010-07-13 70 views
87

如何增加日期時間?在python中。如何增加日期時間? Python

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

但我需要經過幾年?有任何想法嗎? 應easyier方式....

回答

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

@Pol,請記住接受您的答案... – 2010-07-13 19:48:06

+4

如果您需要考慮夏令時;它更復雜,例如,請參閱[如何從Python日期中減去一天?](http://stackoverflow.com/a/25427822/4279) – jfs 2015-06-25 19:51:30

+2

不適用於06/30 + 1day => 06/31必須是07/01! – m3asmi 2015-10-16 10:11:21

4

這裏是另一個方法使用dateutil的relativedelta添加日期。

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') 

輸出:

今天:25/06/2015 20時41分44秒

一個天之後:2015年1月6日20時41分44秒

+0

你爲什麼要用stdlib代替'timedelta()'? – jfs 2015-06-25 19:45:47

+2

@ J.F.Sebastian只是爲了分享另一種可能的方式來增加一天。 – 2015-06-26 08:09:45

+0

如果沒有優勢,我認爲它不會增加價值。 – 2016-06-22 07:06:39