Si alguna vez has tenido que trabajar con fechas y horas en Python, te habrás topado con el módulo de import datetime. Este es una herramienta que hace posible manejar fechas, tiempos y sus combinaciones de forma mucho más flexible. El día de hoy queremos contarte acerca de este módulo y cómo es su funcionamiento.
¿Qué es el módulo datetime?
El módulo datetime en Python es una biblioteca que nos proporciona clases para trabajar con fechas y horas. Tiene un objetivo y es el de facilitar operaciones como obtener la fecha y hora actual, calcular diferencias entre fechas, formatear salidas y manejar zonas horarias, entre otras funcionalidades. Si quieres usarlo, solo necesitas importar el módulo:
import datetime
Esto nos permite acceso a varias clases como datetime, date, time, timedelta y timezone,
¿Cuáles son las principales clases y funciones del módulo datetime?
Existen diversas clases y funciones del módulo de import datetime. Veamos algunas:
- Clase date: la clase date es usada para representar fechas (año, mes y día). Es apropiada cuando solamente necesitas trabajar con fechas y no con el tiempo. Funciona así:
from datetime import date
# Fecha actual
hoy = date.today()
print("Fecha actual:", hoy)
# Crear una fecha específica
mi_fecha = date(2025, 1, 3)
print("Fecha específica:", mi_fecha)
- Clase time: la clase time permite representar tiempos independientes de fechasy le añade atributos como hora, minutos, segundos y microsegundos, así:
from datetime import time
# Crear un tiempo específico
mi_hora = time(14, 30, 45)
print("Hora específica:", mi_hora)
- Clase datetime: nos permite combinar la fecha y la hora en un objeto único, a la vez que permite operaciones más completas:
from datetime import datetime
# Fecha y hora actual
ahora = datetime.now()
print("Fecha y hora actual:", ahora)
# Crear una fecha y hora específicas
especifico = datetime(2025, 1, 3, 14, 30)
print("Fecha y hora específicas:", especifico)
- Clase timedelta: esta es una clase que nos sirve para representar diferencias entre fechas o tiempos y es ideal para cálculos. Veamos un ejemplo:
from datetime import datetime, timedelta
hoy = datetime.now()
# Resta 7 días
hace_una_semana = hoy - timedelta(days=7)
print("Hace una semana:", hace_una_semana)
- Clase timezone: esta clase nos brinda la posibilidad de trabajar con zonas horarias y de ajustar la hora en función de la ubicación. Como por ejemplo:
from datetime import datetime, timezone, timedelta
# UTC +2
zona_horaria = timezone(timedelta(hours=2))
ahora = datetime.now(zona_horaria)
print("Hora en zona horaria UTC+2:", ahora)
¿Por qué deberías usar import datetime?
Trabajar con fechas y horas puede ser complicado debido a los diferentes formatos, zonas horarias y cálculos involucrados. El módulo datetime te proporciona una solución para manejar todos estos retos de forma eficiente.
Algunos de los usos más comunes de datetime son:
- Automatización de tareas: Generar registros de tiempo para auditorías.
- Aplicaciones web: Mostrar horarios y fechas adaptadas a la zona horaria del usuario.
- Análisis de datos: Calcular intervalos y comparar fechas para métricas.
Formateo y manejo de strings con datetime
🔴 ¿Quieres Aprender a Programar con Python? 🔴
Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semanaDatetime tiene una gran funcionalidad que consiste en la capacidad de convertir objetos datetime en cadenas formateadas y viceversa, esto por medio de los método strftime strptime. Veamos cómo hacerlo:
- Formatear fechas y horas:
from datetime import datetime
ahora = datetime.now()
formateado = ahora.strftime("%Y-%m-%d %H:%M:%S")
print("Fecha y hora formateadas:", formateado)
- Convertir cadenas en objetos datetime:
from datetime import datetime
cadena = "2025-01-03 14:30:00"
formato = "%Y-%m-%d %H:%M:%S"
objeto_datetime = datetime.strptime(cadena, formato)
print("Objeto datetime:", objeto_datetime)
¿Te interesa la programación y quieres seguir aprendiendo sobre temáticas similares a esta? En Keepcoding tenemos el bootcamp de programación para principiantes, en el cual aprenderás los niveles básicos e intermedios en diferentes lenguajes y temáticas que te servirán para ir escalando en el mundo laboral. ¡Únete a nosotros y da el salto hacia tu futuro laboral hoy mismo! ¡Aprende de la mano de los mejores!