Comparar fechas en Python es realmente sencillo. Tan solo tienes que hacer uso de los operadores de comparación.
En este artículo voy a explicarte cómo comparar fechas en Python y unas consideraciones previas que debes tener en cuenta cuando se comparan dos objetos de tipo fecha.
Índice
Consideraciones previas
Para trabajar con fechas en Python hay que hacer uso del módulo datetime
. Este módulo define dos objetos para representar fechas: datetime
y date
.
datetime
es una fecha que incluye tiempo, mientras que date
simplemente especifica una fecha.
Los únicos operadores que se pueden utilizar para comparar un objeto datetime
con un objeto date
son el de igualdad (==
) y el distinto (!=
). Comparar un objeto datetime
con un objeto date
usando el operador ==
siempre será False
, puesto que son objetos diferentes. Una comparación con !=
devolverá True
por el mismo motivo.
>>> import datetime >>> fecha1 = datetime.datetime(2020, 4, 13) >>> fecha2 = datetime.date(2020, 4, 13) >>> print(fecha1 == fecha2) False >>> print(fecha1 != fecha2) True
Una vez aclarado esto, ya podemos pasar a las siguientes secciones.
🎯 Recuerda antes de comparar dos objetos de tipo fecha que ambos deben ser del mismo tipo. A no ser que de verdad quieras comparar que son objetos diferentes.
Comparar si dos fechas son iguales en Python
En Python, para comparar si dos fechas son iguales basta con utilizar el operador de igualdad:
>>> import datetime >>> fecha1 = datetime.datetime(2020, 4, 13) >>> fecha2 = datetime.datetime(2020, 4, 13) >>> print(fecha1 == fecha2) True >>> fecha3 = datetime.datetime(2019, 4, 13) >>> print(fecha1 == fecha3) False
Comprobar si dos fechas son distintas en Python
También puedes comprobar si dos fechas son diferentes utilizando el operador !=
. A continuación te muestro un ejemplo:
>>> import datetime >>> fecha1 = datetime.datetime(2020, 4, 13) >>> fecha2 = datetime.datetime(2020, 4, 13) >>> fecha3 = datetime.datetime(2019, 4, 13) >>> print(fecha1 != fecha2) False >>> print(fecha1 != fecha3) True
Comparar si una fecha es anterior o posterior a otra
Por último, en Python también es posible comprobar si una fecha es anterior o posterior a otra fecha. Para ello, puedes utilizar los operadores <
, <=
, >
o >=
.
Veámoslo con un ejemplo:
>>> import datetime >>> fecha1 = datetime.datetime(2020, 1, 1) >>> fecha2 = datetime.datetime(2019, 1, 1) >>> print(fecha1 < fecha2) False >>> print(fecha1 > fecha2) True >>> print(fecha2 < fecha1) True >>> print(fecha2 > fecha1) False
Recuerda que los mismos ejemplos vistos en cada una de las secciones anteriores se podrían aplicar a objetos de tipo date
:
>>> import datetime >>> fecha1 = datetime.date(2020, 2, 3) >>> fecha2= datetime.date(2019, 2, 3) >>> print(fecha1 == fecha2) False >>> print(fecha1 > fecha2) True