Diferencia entre dos fechas en Python

Resuelto mauguerra asked hace 13 años • 7 respuestas

Tengo dos fechas diferentes y quiero saber la diferencia de días entre ellas. El formato de la fecha es AAAA-MM-DD.

Tengo una función que puede SUMAR o RESTAR un número determinado a una fecha:

def addonDays(a, x):
   ret = time.strftime("%Y-%m-%d",time.localtime(time.mktime(time.strptime(a,"%Y-%m-%d"))+x*3600*24+3600))      
   return ret

donde A es la fecha y x la cantidad de días que quiero agregar. Y el resultado es otra cita.

Necesito una función donde pueda dar dos fechas y el resultado sería un int con diferencia de fechas en días.

mauguerra avatar Dec 08 '11 00:12 mauguerra
Aceptado

Úselo -para obtener la diferencia entre dos datetimeobjetos y tome el daysmiembro.

from datetime import datetime

def days_between(d1, d2):
    d1 = datetime.strptime(d1, "%Y-%m-%d")
    d2 = datetime.strptime(d2, "%Y-%m-%d")
    return abs((d2 - d1).days)
Fred Foo avatar Dec 07 '2011 17:12 Fred Foo

Otra solución breve:

from datetime import date

def diff_dates(date1, date2):
    return abs(date2-date1).days

def main():
    d1 = date(2013,1,1)
    d2 = date(2013,9,13)
    result1 = diff_dates(d2, d1)
    print '{} days between {} and {}'.format(result1, d1, d2)
    print ("Happy programmer's day!")

main()
0x8BADF00D avatar Sep 13 '2013 21:09 0x8BADF00D