2011-02-01 15 views
13

Oggi =Come sottrarre date con python

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

90 giorni fa

DD = datetime.timedelta(days=-90) 

Come faccio ad avere oggi - DD, o 90 giorni fa?

+0

dove hai imparato a conoscere il modulo 'datetime' e la classe' timedelta' in particolare? – SilentGhost

risposta

26

Dovresti essere in grado di sottrarre i delta di tempo dagli oggetti datetime.

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

è necessario sottrarre timedelta(days=90):

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

Dovrebbe print2010-11-03 15:04:42.289684.

+1

sì, e qual è la risposta? – SilentGhost

+0

Un paio di secondi fa, era '2010-11-03 15: 04: 42.289684'. –

+0

beh, la mia domanda non è stata fatta un paio di secondi fa, ora era? – SilentGhost

11

Basta sottrarre una timedelta da un datetime:

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

(o se si desidera utilizzare un tipo timedelta negativo come avete fatto lì, aggiungerle:

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

speranza risolve