2011-02-01 79 views
13

今天日期=如何减去与蟒蛇

today = datetime.datetime.now().strftime("%Y%m%d") 

90天前

DD = datetime.timedelta(days=-90) 

如何获得今天 - DD,或者90天前?

+0

你从哪里学习`datetime`模块和`timedelta`类? – SilentGhost 2011-02-01 14:57:11

回答

26

您应该能够从日期时间对象中减去时间变化量。

today = datetime.datetime.now() 
DD = datetime.timedelta(days=90) 
earlier = today - DD 
earlier_str = earlier.strftime("%Y%m%d") 
4

你需要减去timedelta(days=90)

from datetime import date, datetime, timedelta 
today = datetime.now() 
dd = today - timedelta(days=90) 
print(dd) 

它应该print2010-11-03 15:04:42.289684

+1

是的,那么答案是什么? – SilentGhost 2011-02-01 14:58:38

11

刚刚从日期时间减去timedelta:

>>> import datetime 
>>> today = datetime.datetime.today() 
>>> DD = datetime.timedelta(days=90) 
>>> today - DD 
datetime.datetime(2010, 11, 3, 9, 56, 20, 924224) 

(或者,如果你要使用像你这样有负timedelta,添加它们:

>>> DD = datetime.timedelta(days=-90) 
>>> today + DD 
datetime.datetime(2010, 11, 3, 9, 56, 20, 924224) 
2
from datetime import date,timedelta 

currentDay = date.today() 

requestedDay = currentDay - timedelta(days=90) 

print(requestedDay) 

希望它解决了。