Comparar fechas con Python

logo python

Una necesidad que puede surgir al programar, es tener que comparar fechas en Python.
Implementar las comparaciones no es algo complejo y para ello emplearemos operadores de comparación de uso común como <, >, <=, >=, !=  y otros, dentro del modulo datetime().

import datetime
  
# fecha in yyyy/mm/dd format
fecha_1 = datetime.datetime(2020, 4, 6)
fecha_2 = datetime.datetime(2019, 12, 30)
fecha_3 = datetime.datetime(2019, 1, 1) 

# la comparacion devolvera verdadero o falso

print("La fecha_1 es mas nueva que la fecha_3 : ", fecha_1 > fecha_3)
print("La fecha_2 es mas vieja que la fecha_3 : ", fecha_2 < fecha_3)
print("La fecha_3 es igual a la fecha_1 : ", fecha_3 == fecha_1)
print("La fecha_1 no es la misma que la fecha_2 : ", fecha_1 != fecha_2)

La salida que obtenemos es :
La fecha_1 es mas nueva que la fecha_3 :  True
La fecha_2 es mas vieja que la fecha_3 :  False
La fecha_3 es igual a la fecha_1 :  False
La fecha_1 no es la misma que la fecha_2 :  True

Sumar y restar días en Python

En este otro ejemplo comparamos varias fechas que entramos por teclado.​

# Entramos por teclado las fechas

dia_1, mes_1, año_1 = [int(x) for x in input("Introduzca fecha del primer envio"
        "(YYYY/MM/DD) : ").split('/')]
  
primera = date(dia_1, mes_1, año_1)
  

dia_2, mes_2, año_2 = [int(x) for x in input("Introduzca fecha del segundo envio"
        "(YYYY/MM/DD) : ").split('/')]
  
segunda = date(dia_2, mes_2, año_2)

dia_3, mes_3, año_3 = [int(x) for x in input("Introduzca fecha del tercer envio"
        "(YYYY/MM/DD) : ").split('/')]
  
tercera = date(dia_3, mes_3, año_3)
  
# Check the dates
if primera == segunda:
    print("Es raro que ambas se hicieran en mismo dia")
      
elif tercera > primera:
    print("es correcto")
      
else:
    print("Debe analizarse")

Y esto es todo, espero sinceramente que este post, sirva a alguien.

No discutas nunca con un imbécil, te llevará a su terreno y allí te ganará por experiencia

D.