Ordenar fecha y hora en Python
- Ordenar fecha y hora en Python
-
Ordenar fechas usando el método
sorted()
-
Ordenar tiempos usando el método
sorted()
-
Ordene tanto la fecha como la hora usando el método
ordenado ()
- Conclusión
Python es un lenguaje de programación interpretado y de alto nivel que los programadores utilizan en todo el mundo. Es más famoso por la programación orientada a objetos.
Podemos utilizar Python en diferentes sectores TI relacionados con Inteligencia Artificial, Machine Learning, desarrollo web y análisis de datos. Otra razón por la que Python es popular y práctico es que tiene muchas bibliotecas y módulos integrados.
Este artículo nos enseñará cómo ordenar fechas y horas usando Python. También aprenderemos el módulo datetime
y el método sorted
.
Ordenar fecha y hora en Python
Una característica que podemos hacer usando Python es ordenar fechas y horas. Puede haber casos en los que necesitemos ordenar algunas fechas y horas determinadas.
Por ejemplo, si hay una lista de diferentes fechas y horas y necesitamos configurarlas en orden ascendente o descendente, podemos ordenarlas usando Python.
el módulo datetime
en Python
Antes que nada, debe haber fechas y horas para ordenar. Python nos proporciona el módulo datetime
para trabajar con fechas y horas fácilmente.
Hay seis clases principales en el módulo datetime
: date
, time
, datetime
, timedelta
, tzinfo
y timezone
.
el método ordenado()
sorted()
es una función integrada en Python que podemos usar para ordenar elementos en una lista. La sintaxis para el método sorted()
se encuentra a continuación.
sorted(iterable, key=key, reverse=reverse)
Aquí el iterable
significa la secuencia o los iteradores que necesitamos ordenar. Puede ser una tupla, una lista o un diccionario.
La clave
y el reverso
son valores opcionales que podemos dar a la función ordenada
.
Si queremos decidir el orden de clasificación, la clave
es una función que podemos ejecutar para lograrlo. El valor por defecto es ninguno
.
El reverso
es un booleano que considera valores verdaderos
y falsos
. Si establecemos “true” como valor, ordenaremos en orden descendente, y si establecemos “false” como valor, ordenaremos los elementos en orden ascendente.
El valor por defecto del reverso
es false
.
Podemos usar este método para ordenar fechas y horas. Veamos cómo podemos hacer eso.
Ordenar fechas usando el método sorted()
Como primer paso, debemos importar el método datetime
del módulo datetime
ya que estamos trabajando con la fecha y la hora.
from datetime import datetime
Entonces podemos definir una lista con algunas fechas aleatorias.
dateList = ["2022-10-07", "2022-10-04", "2022-10-31", "2022-10-01"]
Aquí las fechas que hemos agregado tienen el mismo año y mes pero días diferentes. Intentemos ordenarlos y tener la salida.
print(sorted(dateList))
Hemos usado el método sorted()
dentro de la función print()
en la declaración anterior. Además, podemos asignar ese método a una variable e imprimirlo.
sortedDateList = sorted(dateList)
print(sortedDateList)
Ambas declaraciones nos dan el mismo resultado. Para este ejemplo, usamos el primer método.
Código completo:
from datetime import datetime
dateList = ["2022-10-07", "2022-10-04", "2022-10-31", "2022-10-01"]
print(sorted(dateList))
Producción:
Como puede ver, las fechas se han ordenado en orden ascendente.
Ordenémoslos en orden descendente agregando el atributo reverse
con true
como valor.
print(sorted(dateList, reverse=True))
Después de ejecutar el código, obtendremos un resultado como el siguiente.
Como en la imagen de arriba, podemos tener fechas ordenadas en orden descendente.
Ahora intentemos esto de nuevo con diferentes años y meses.
dateList = ["2022-10-07", "2021-10-07", "2021-09-07", "2020-10-07", "2020-10-01"]
Luego podemos ordenarlos e imprimirlos como lo hicimos antes.
print(sorted(dateList))
Ahora obtendremos un resultado como en la imagen de abajo.
Ordenar tiempos usando el método sorted()
Anteriormente, intentamos ordenar las fechas. Ahora intentemos ordenar diferentes tiempos usando este método.
Importemos el método datetime
del módulo datetime
.
from datetime import datetime
Luego podemos hacer una lista con diferentes tiempos.
timeList = ["14:00:00", "02:00:00", "10:00:00", "23:00:00", "05:00:00"]
Ahora intentemos ordenarlos e imprimirlos.
print(sorted(timeList))
Producción:
Como salida, obtendremos la lista de tiempos en orden ascendente. Como hicimos antes, también podemos ordenar los tiempos en orden descendente.
print("\n", sorted(timeList, reverse=True))
Producción:
Como se muestra a continuación, cambiemos los tiempos con diferentes minutos y segundos.
timeList = ["14:03:29", "02:24:23", "10:02:59", "02:23:24", "10:03:00"]
print(sorted(timeList))
Cuando ejecutemos el código, obtendremos el resultado esperado a continuación.
Ordene tanto la fecha como la hora usando el método ordenado ()
En pasos anteriores, ordenamos fechas y horas por separado. Ahora intentemos ordenar las fechas y las horas juntas.
Vamos a crear una nueva lista como dateTimeList
. Luego, podemos agregar algunas fechas junto con diferentes horas, como se muestra en el bloque de código a continuación.
dateTimeList = [
"2022-10-07 14:03:29",
"2022-10-08 02:01:23",
"2022-10-07 10:02:59",
"2022-10-07 02:01:24",
]
Como puedes ver, hay cuatro fechas y diferentes horarios. Veamos si podemos obtener la lista ordenada a través de este método.
print(sorted(dateTimeList))
Producción:
Como en la imagen de arriba, obtendremos una lista ordenada de fechas y horas.
Conclusión
En este tutorial, aprendimos una técnica de Python: el método sorted()
para ordenar la fecha y la hora.
Como primer paso, debemos importar el módulo datetime
, y de ahí, también debemos importar el método datetime
. Solo así podemos trabajar con la fecha y la hora.
Usando el método sorted()
, creamos listas con diferentes fechas y horas y las ordenamos como ejemplos para entender el concepto. Hay otros métodos para ordenar fechas y horas, pero esta es una forma sencilla que nos proporciona Python.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.