Trabajar con fechas y horas es un aspecto crucial en muchas aplicaciones, desde la gestión de eventos hasta la manipulación de datos en bases de datos. Python nos ofrece varias herramientas poderosas y sencillas para manejar fechas y horas.
En este artículo exploraremos los módulos más utilizados para trabajar con fechas en Python. Y para comprender a fondo del concepto, presentaré prácticos para que puedas aplicarlos.
El módulo datetime
: la herramienta esencial para fechas en Python
El módulo datetime
es uno de los más comunes para trabajar con fechas y horas en Python. Este módulo ofrece clases para manipular fechas, tiempos y combinaciones de ambos. Aquí te muestro cómo funciona:
Para importar el módulo se requiere una sola línea de código:
import datetime
Crear y manipular fechas
Para crear una fecha en Python, utilizamos la clase date
. Esta clase representa una fecha en el formato AAAA-MM-DD. En el ejemplo que veremos a continuación importaremos date de datetime
, asignaremos una fecha (separando por comas año, mes y día) y la mostraremos con print()
.
from datetime import date # Crear una fecha específica mi_fecha = date(2024, 9, 20) print(mi_fecha) # Salida: 2024-09-20
Si necesitamos obtener la fecha actual, puedes usar el método today()
:
hoy = date.today() print(hoy) # Salida: La fecha actual
Por su parte, la clase time
se utiliza para representar tiempos sin fechas. Puede ser útil para aplicaciones que requieren trabajar con horas específicas del día.
from datetime import time mi_hora = time(14, 30, 0) print(mi_hora) # Salida: 14:30:00
Fecha y hora
Si necesitas trabajar tanto con fechas como con horas, la clase datetime
será tu mejor opción.
from datetime import datetime # Crear una fecha y hora específica mi_fecha_hora = datetime(2024, 9, 20, 14, 30) print(mi_fecha_hora) # Salida: 2024-09-20 14:30:00
Para obtener la fecha y hora actual podemos escribir un código como el que vemos a continuación:
ahora = datetime.now() print(ahora) # Salida: La fecha y hora actual
Formatear fechas con strftime
Cuando trabajamos con fechas, es común que necesitemos mostrarlas en formatos específicos. La función strftime
te permite formatear fechas en distintos formatos.
formato_personalizado = ahora.strftime('%d/%m/%Y %H:%M:%S') print(formato_personalizado) # Salida: 18/09/2024 14:30:00
Algunos formatos comunes:
%Y
: Año con 4 dígitos.%m
: Mes (01-12).%d
: Día del mes (01-31).%H
: Hora en formato de 24 horas (00-23).%M
: Minutos (00-59).%S
: Segundos (00-59).
Trabajar con diferencias de tiempo y parsear fechas
El módulo timedelta
es útil cuando necesitas realizar cálculos con fechas, como agregar o restar días, horas, minutos, etc.
from datetime import timedelta # Crear una diferencia de 5 días cinco_dias = timedelta(days=5) # Sumarle 5 días a la fecha actual nueva_fecha = hoy + cinco_dias print(nueva_fecha) # Salida: Fecha 5 días después de hoy
También puedes restar días o incluso calcular la diferencia entre dos fechas:
fecha_futura = date(2024, 12, 25) diferencia = fecha_futura - hoy print(diferencia.days) # Salida: Número de días entre hoy y Navidad 2024
Cuando recibemos una fecha en formato de cadena, puedes convertirla en un objeto datetime
usando strptime
.
fecha_str = '20/09/2024 14:30:00' fecha_objeto = datetime.strptime(fecha_str, '%d/%m/%Y %H:%M:%S') print(fecha_objeto) # Salida: 2024-09-20 14:30:00
En conclusión
Trabajar con fechas en Python puede parecer complicado al principio, pero con las herramientas correctas, se vuelve un proceso muy manejable. El módulo datetime
cubre la mayoría de las necesidades, desde la creación y manipulación de fechas hasta el formateo.
Dominar estas habilidades nos permite manejar mejor cualquier proyecto que involucre tiempos y fechas, una necesidad común en la programación actual.
Si te interesa aprender más sobre Python escribime.
Más sobre Programación
Deja una respuesta