Trabajar con fechas y horas es una de las tareas más comunes en programación: desde registrar la fecha de un pedido hasta calcular la diferencia entre dos eventos. Python facilita este proceso gracias a su módulo datetime, que nos permite obtener la fecha y hora actuales, formatearlas a nuestro gusto y realizar operaciones como sumas o restas de días.
Comandos más frecuentes para trabajar con fechas en Python
Importar el módulo datetime
import datetime
Obtener la fecha y hora actual
from datetime import datetime
ahora = datetime.now()
print(ahora) # Ejemplo: 2025-09-26 12:34:56.789012
Obtener solo la fecha o la hora
print(ahora.date()) # 2025-09-26
print(ahora.time()) # 12:34:56.789012
Crear una fecha específica
fecha = datetime(2023, 12, 25)
print(fecha) # 2023-12-25 00:00:00
Formatear fechas con strftime()
print(ahora.strftime("%d/%m/%Y")) # 26/09/2025
print(ahora.strftime("%H:%M:%S")) # 12:34:56
Tabla de formatos comunes en strftime()
| Código | Descripción | Ejemplo |
| ------ | ----------------------- | ------------ |
| `%d` | Día (2 dígitos) | `26` |
| `%m` | Mes (2 dígitos) | `09` |
| `%Y` | Año con 4 dígitos | `2025` |
| `%y` | Año con 2 dígitos | `25` |
| `%H` | Hora (24h) | `14` |
| `%I` | Hora (12h) | `02` |
| `%M` | Minutos | `30` |
| `%S` | Segundos | `45` |
| `%p` | AM/PM | `PM` |
| `%A` | Nombre completo del día | `Viernes` |
| `%a` | Nombre corto del día | `Vie` |
| `%B` | Nombre completo del mes | `Septiembre` |
| `%b` | Nombre corto del mes | `Sep` |
Convertir un string en fecha con strptime()
fecha_str = "15-08-2025"
fecha_convertida = datetime.strptime(fecha_str, "%d-%m-%Y")
print(fecha_convertida) # 2025-08-15 00:00:00
Operaciones con fechas (timedelta)
from datetime import timedelta
manana = ahora + timedelta(days=1)
ayer = ahora - timedelta(days=1)
print("Mañana:", manana)
print("Ayer:", ayer)
Diferencia entre dos fechas
inicio = datetime(2025, 1, 1)
fin = datetime(2025, 9, 26)
diferencia = fin - inicio
print("Días transcurridos:", diferencia.days)
Ejercicio práctico: Calculadora de cumpleaños
Crea un programa que pida al usuario su fecha de nacimiento y le diga cuántos días faltan para su próximo cumpleaños.
from datetime import datetime, timedelta
# Pedimos la fecha de nacimiento
nacimiento_str = input("Introduce tu fecha de nacimiento (dd-mm-aaaa): ")
nacimiento = datetime.strptime(nacimiento_str, "%d-%m-%Y")
# Fecha actual
hoy = datetime.now()
# Próximo cumpleaños
cumpleaños = datetime(hoy.year, nacimiento.month, nacimiento.day)
# Si ya pasó este año, sumamos un año
if cumpleaños < hoy:
cumpleaños = cumpleaños.replace(year=hoy.year + 1)
# Calculamos la diferencia
faltan = (cumpleaños - hoy).days
print(f"Faltan {faltan} días para tu próximo cumpleaños 🎉")
El manejo de fechas en Python es muy flexible gracias al módulo datetime. Con estos comandos, la tabla de formatos y el ejercicio práctico, ya puedes empezar a trabajar con fechas en tus propios proyectos.
Deje su comentario