sumar sistema restar obtener importar hora fechas fecha con clase capturar actual python date datetime

sistema - restar fechas con python



Agregando 5 días a una fecha en Python (8)

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

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


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


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)


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)


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á 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.


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


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