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,