Agregando 5 días a una fecha en Python

Tengo una fecha "10/10/11(mdy)" y quiero agregarle 5 días usando un script de Python. Por favor, considere una solución general que funciona en el mes termina también.

Estoy usando el siguiente código:

 import re from datetime import datetime StartDate = "10/10/11" Date = datetime.strptime(StartDate, "%m/%d/%y") 

print Date -> está imprimiendo '2011-10-10 00:00:00'

Ahora quiero agregar 5 días a esta fecha. Use el siguiente código:

 EndDate = Date.today()+timedelta(days=10) 

Que devolvió este error:

 name 'timedelta' is not defined 

Las respuestas anteriores son correctas, pero generalmente es una mejor práctica:

 import datetime 

Entonces tendrás, usando datetime.timedelta :

 date_1 = datetime.datetime.strptime(start_date, "%m/%d/%y") end_date = date_1 + datetime.timedelta(days=10) 

Importar timedelta primero.

 from datetime import timedelta 

Y Date.today() devolverá la fecha y hora de hoy, puede ser que desee

 EndDate = Date + timedelta(days=10) 

Si ya estás usando pandas, puedes ahorrar un poco de espacio al no especificar el formato:

 import pandas as pd startdate = "10/10/2011" enddate = pd.to_datetime(startdate) + pd.DateOffset(days=5) 

Supongo que te estás perdiendo algo así:

 from datetime import timedelta 

Aquí hay otro método para agregar días en la fecha usando el relativedelta de dateutil .

 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(days=5) print 'After 5 Days:', date_after_month.strftime('%d/%m/%Y %H:%M:%S') 

Salida:

Hoy: 25/06/2015 15:56:09

Después de 5 días: 30/06/2015 15:56:09

Aquí está una función de conseguir desde ahora + días especificados.

 import datetime def get_date(dateFormat="%d-%m-%Y", addDays=0): timeNow = datetime.datetime.now() if (addDays!=0): anotherTime = timeNow + datetime.timedelta(days=addDays) else: anotherTime = timeNow return anotherTime.strftime(dateFormat) 

Uso:

 addDays = 3 #days output_format = '%d-%m-%Y' output = get_date(output_format, addDays) print output 

Si desea agregar días a la fecha ahora, puede usar este código

 from datetime import datetime from datetime import timedelta date_now_more_5_days = (datetime.now() + timedelta(days=5) ).strftime('%Y-%m-%d') 

Para tener un código menos detallado y evitar conflictos de nombres entre datetime y datetime.datetime , debe cambiar el nombre de las clases con nombres CamelCase .

 from datetime import datetime as DateTime, timedelta as TimeDelta 

Así que puedes hacer lo siguiente, que creo que está más claro.

 date_1 = DateTime.today() end_date = date_1 + TimeDelta(days=10) 

Además, no habría conflicto de nombres si desea import datetime más adelante.