CodeGym /Curso de Java /Python SELF ES /Uso del módulo datetime

Uso del módulo datetime

Python SELF ES
Nivel 39 , Lección 1
Disponible

1. Obtener la fecha y hora actuales

¿Para qué sirve?

Como se sabe, el tiempo es dinero. Y en programación, también es control, planificación y automatización. Por ejemplo, si quieres ejecutar una tarea a una hora específica o registrar eventos, necesitas saber que el reloj está en marcha, y cómo interactuar con él.

Fundamentos de datetime

Así que, imaginemos que comenzamos a trabajar con la biblioteca datetime. A diferencia de ensamblar una nave espacial, ¡esto es pan comido! Vamos a empezar con obtener la fecha y hora actuales:

Python

from datetime import datetime

# Obtener la fecha y hora actuales
now = datetime.now()
print("Fecha y hora actuales:", now)

Este código dice "¡Hey, datetime, dime qué hora es ahora mismo!" Y lo genial es que now() devuelve un objeto datetime, que contiene toda la información sobre el momento actual. Sí, como un profesor que lo sabe todo y de inmediato.

Hora local y universal (UTC)

Ah, UTC — la hora universal que une a todos sin zonas horarias adicionales. Si quieres saber la hora exacta en Marte (bueno, casi), UTC es para ti. Aquí está cómo obtenerlo:

Python

# Obtener la hora actual en formato UTC
now_utc = datetime.utcnow()
print("Fecha y hora actuales en UTC:", now_utc)

Te preguntarás, ¿cuál es la diferencia? La hora local tiene en cuenta tu zona horaria, mientras que UTC es la hora en Greenwich, no depende de tu ubicación geográfica.

Extracción de partes de la fecha y hora

A veces, no necesitamos la fecha completa, sino solo partes de ella. Es como pedir una pizza y solo tomar el queso — no siempre es lógico, pero a veces necesario:

Python

# Extracción de partes individuales de la fecha y hora
year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
second = now.second

print(f"Ahora son las {hour}:{minute}:{second} del {day}.{month}.{year}")

Así, podemos trabajar individualmente con los elementos de la fecha y la hora, por ejemplo, para felicitar a un colega por su cumpleaños (pero solo si él mismo lo recuerda).

Ejemplos de uso de la fecha y hora actuales

Es otra cosa cuando necesitas programar eventos que ocurren en diferentes momentos del tiempo. Por ejemplo, hagamos un script simple que felicite a todos por el viernes (porque, ¿a quién no le gusta el viernes?).

Python

# Ejemplo de uso de la fecha actual para un recordatorio diario
if now.weekday() == 4:  # Viernes
    print("¡Hurra! Hoy es viernes, ¡hora de descansar!")
else:
    print("Espera un poco más, el viernes aún no llega.")

Este código usa el método weekday(), que devuelve un número del 0 al 6 (donde 0 es lunes y 6 es domingo), para verificar qué día de semana es hoy y alertar sobre la llegada de los fines de semana.

2. Trabajar con objetos datetime

Necesitamos saber no solo el momento actual, sino también cómo avanzar de un momento a otro para realizar otras operaciones o comparaciones. Por ejemplo, ¿cómo calculas cuánto te has retrasado para una reunión con colegas?

Python

# Ejemplo de cálculo de diferencia en tiempo
from datetime import timedelta

# Crear una fecha en el pasado
past_date = datetime(2023, 1, 1, 10, 0, 0)

# Calcular la diferencia entre la hora actual y la pasada
difference = now - past_date
print(f"Desde ese día memorable han pasado {difference.days} días y {difference.seconds // 3600} horas.")

Aquí creamos una fecha en el pasado y la comparamos con la actual. ¿Cuántos días han pasado desde Año Nuevo? ¡Ahora lo sabes!

3. Trabajar con zonas horarias

Para trabajar con zonas horarias en datetime usamos la biblioteca pytz, que permite convertir una fecha y hora a la zona horaria requerida.

Ejemplo de uso de pytz

Python

from datetime import datetime
import pytz

# Obtener la fecha y hora actuales en UTC
utc_now = datetime.now(pytz.utc)
print("Fecha y hora actuales (UTC):", utc_now)

# Convertir a otra zona horaria (por ejemplo, US/Pacific)
pacific_now = utc_now.astimezone(pytz.timezone("US/Pacific"))
print("Fecha y hora actuales (Pacific Time):", pacific_now)

Resultado:


Fecha y hora actuales (UTC): 2024-11-04 14:53:27.123456+00:00
Fecha y hora actuales (Pacific Time): 2024-11-04 06:53:27.123456-08:00
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION