2011-02-01 32 views
13

Hoy =Como restar fechas con Python

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

90 días hace

DD = datetime.timedelta(days=-90) 

¿Cómo llego hoy - DD, o hace 90 días?

+0

¿dónde aprendiste sobre el módulo 'datetime' y la clase' timedelta' en particular? – SilentGhost

Respuesta

26

Debe poder restar deltas de tiempo de los objetos de fecha y hora.

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

debe restar timedelta(days=90):

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

Debería print2010-11-03 15:04:42.289684.

+1

sí, y cuál es la respuesta? – SilentGhost

+0

Hace un par de segundos, fue '2010-11-03 15: 04: 42.289684'. –

+0

bueno, mi pregunta no fue formulada hace unos segundos, ¿verdad? – SilentGhost

11

Sólo resta una timedelta de una fecha y hora:

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

(o si desea utilizar un timedelta negativo como lo hizo allí, agregarlos:

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

esperemos que resuelve .