Ordenar fecha y hora en Python

Migel Hewage Nimesha 8 octubre 2023
  1. Ordenar fecha y hora en Python
  2. Ordenar fechas usando el método sorted()
  3. Ordenar tiempos usando el método sorted()
  4. Ordene tanto la fecha como la hora usando el método ordenado ()
  5. Conclusión
Ordenar fecha y hora en Python

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:

fecha ordenada

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.

fecha ordenada descendente

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.

fecha ordenada con diferentes años y meses

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:

tiempo ordenado

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:

tiempo ordenado descendente

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.

tiempo ordenado con diferentes minutos y segundos

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:

fecha y hora ordenados

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.

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

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.

Artículo relacionado - Python Sort