Módulo datetime en Python: Cómo usar fechas y horas

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Fundamentos del módulo datetime en Python

Trabajar con fechas y horas es una de las tareas más importantes en programación. En Python, para ello se utiliza el potente y flexible módulo datetime. Este módulo te permite gestionar fácilmente fechas, horas, intervalos de tiempo y su formato.

Si alguna vez te has preguntado cómo obtener la fecha de hoy en Python, cómo calcular la diferencia entre dos fechas o cómo convertir una cadena de texto en una fecha, este artículo te dará respuestas completas con ejemplos de código listos para usar.

¿Qué es el módulo datetime?

El módulo datetime forma parte de la biblioteca estándar de Python. Proporciona clases para manejar el tiempo y las fechas. Al ser un módulo integrado, no requiere instalación adicional.

Con el módulo datetime puedes:

  • Obtener la fecha y hora actuales
  • Realizar operaciones aritméticas con fechas
  • Formatear y convertir fechas
  • Trabajar con intervalos de tiempo mediante la clase timedelta
  • Gestionar zonas horarias

La importación del módulo se realiza de la forma estándar:

import datetime

Obtener la fecha y hora actuales

Cómo obtener la fecha de hoy

Obtener la fecha actual es una de las tareas más comunes. Para ello se usa el método today() de la clase date:

from datetime import date
today = date.today()
print(f"Fecha de hoy: {today}")

El resultado se muestra en formato AAAA-MM-DD, por ejemplo: 2025-05-09.

Obtener la fecha y hora actuales al mismo tiempo

Si necesitas obtener tanto la fecha como la hora, usa la clase datetime y el método now():

from datetime import datetime
now = datetime.now()
print(f"Fecha y hora actuales: {now}")

Extraer componentes individuales de fecha y hora

El módulo datetime permite extraer fácilmente componentes individuales de fecha y hora:

current_time = datetime.now()
print(f"Año: {current_time.year}")
print(f"Mes: {current_time.month}")
print(f"Día: {current_time.day}")
print(f"Hora: {current_time.hour}")
print(f"Minutos: {current_time.minute}")
print(f"Segundos: {current_time.second}")

Formateo de fecha y hora

Fundamentos del formateo

A menudo es necesario presentar una fecha en un formato legible. Para ello se usa el método strftime(), que permite definir el formato de visualización deseado:

now = datetime.now()
formatted = now.strftime("%d-%m-%Y %H:%M:%S")
print(f"Fecha y hora formateadas: {formatted}")

Códigos de formato más populares

El módulo datetime admite múltiples códigos de formato:

  • %Y — Año (4 dígitos), por ejemplo: 2025
  • %m — Mes (con cero inicial), por ejemplo: 05
  • %d — Día del mes, por ejemplo: 09
  • %H — Hora (formato 24 horas), por ejemplo: 14
  • %M — Minutos, por ejemplo: 30
  • %S — Segundos, por ejemplo: 45
  • %A — Nombre completo del día de la semana, por ejemplo: Friday
  • %B — Nombre completo del mes, por ejemplo: May

Convertir una cadena de texto en fecha

Si tienes una fecha como cadena de texto y necesitas convertirla a un objeto datetime, usa el método strptime():

from datetime import datetime
date_string = "09-05-2025"
converted_date = datetime.strptime(date_string, "%d-%m-%Y")
print(f"Fecha después de la conversión: {converted_date}")

Operaciones aritméticas con fechas

Calcular la diferencia entre fechas

El módulo datetime permite calcular fácilmente la cantidad de días entre dos fechas. El resultado se representa como un objeto timedelta:

from datetime import date
date1 = date(2025,                

Blogs

Book Recommendations