CodeGym /Cursos /Python SELF ES /Fundamentos de trabajar con fechas y tiempo en Python

Fundamentos de trabajar con fechas y tiempo en Python

Python SELF ES
Nivel 39 , Lección 0
Disponible

Introducción al trabajo con fechas y tiempo

Empecemos con una pequeña reflexión: imagina si las computadoras no pudieran trabajar con fechas y tiempo. ¡Horror! Nuestros gadgets favoritos se volverían completamente inútiles para planificar y automatizar tareas. Vamos a averiguar cómo Python nos ayuda a no llegar tarde a reuniones importantes y a mantener la automatización de tareas rutinarias.

Trabajar con fechas y tiempo es una parte esencial de la programación, especialmente cuando se trata de automatización. Imagina una situación: tienes informes que deben actualizarse cada hora, o recordatorios que deben avisarte que es hora de hacer una pausa (¡sí, porque ya llevas 5 horas seguidas frente a la pantalla!). Python ofrece muchas herramientas para trabajar con fechas y tiempo, y eso es lo que vamos a explorar en esta lección.

1. Módulos para trabajar con fechas y tiempo

En Python hay varios módulos diseñados para facilitar el trabajo con fechas y tiempo. Nos enfocaremos en tres módulos principales: datetime, time y calendar.

  • datetime: probablemente realizaremos la mayor parte del trabajo con fechas y tiempo usando este módulo. Proporciona clases para trabajar con fechas, tiempo, y combinaciones de ambos.
  • time: este módulo nos da funciones para trabajar con representaciones de tiempo a bajo nivel, usualmente interactuando con el tiempo del sistema.
  • calendar: te ayudará a trabajar con calendarios (esto es obvio, ¿verdad?).

Funciones y clases principales del módulo datetime

Vamos a profundizar en el módulo datetime y analizar sus componentes clave.

Clase date

Esta clase se usa para trabajar con fechas. Te permite establecer y modificar años, meses y días sin necesidad de asociarlos al tiempo.

Python

from datetime import date

# Crear un objeto date
mi_cumpleaños = date(1990, 12, 25)
print("La fecha de mi cumpleaños:", mi_cumpleaños)

Clase time

Esta clase, como sugiere el nombre, se trata exclusivamente del tiempo: horas, minutos, segundos. Perfecto para situaciones en las que necesitas gestionar el tiempo separado de la fecha.

Python

from datetime import time

# Crear un objeto time
hora_reunión = time(14, 30)  # 14:30
print("La hora de la reunión está fijada para:", hora_reunión)

Clase datetime

La clase más versátil que combina fecha y tiempo en una sola entidad.

Python

from datetime import datetime

# Fecha y tiempo actuales
ahora = datetime.now()
print("La fecha y hora actuales:", ahora)

2. Uso del módulo datetime para obtener la fecha y hora actual

Obtener la fecha y hora actuales es básico para planificar y automatizar. datetime ofrece algunos métodos útiles para lograr esto.

Obtener la fecha y hora actual

Con los métodos datetime.now() y datetime.today(), puedes obtener fácilmente la fecha y hora actual.

Python

ahora = datetime.now()
print("La fecha y hora actuales (now):", ahora)

hoy = datetime.today()
print("La fecha de hoy (today):", hoy)

Trabajar con objetos datetime

El objeto datetime te permite extraer componentes como el año, mes, día, etc. También es importante recordar la diferencia entre tiempo local y universal (UTC).

Python

año = ahora.year
mes = ahora.month
día = ahora.day
hora = ahora.hour
minuto = ahora.minute
segundo = ahora.second

print(f"Hoy: {día}/{mes}/{año}, y hora: {hora}:{minuto}:{segundo}")

Al crear aplicaciones, ten en cuenta la diferencia entre tiempo local y UTC, ¡porque el mundo es grande y todos tienen su propio reloj!

3. Ejemplos de usar la fecha y hora actual en tareas reales

Supongamos que necesitas obtener datos de alguna fuente cada hora. Esto se puede automatizar fácilmente comparando la hora actual con la hora de la última extracción. Por ejemplo:

Python

from datetime import timedelta

última_ejecución = datetime.now() - timedelta(hours=1)
hora_actual = datetime.now()

# Si la última ejecución fue hace más de una hora
if hora_actual - última_ejecución > timedelta(hours=1):
    print("¡Es hora de actualizar los datos!")
    última_ejecución = hora_actual

Este código nos recuerda eficazmente que debemos hacer algo solo cuando ha pasado más de una hora. Nota lo conveniente que es usar timedelta para realizar operaciones matemáticas con el tiempo.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION