Python Programming

Domina las Conversiones de Fecha y Hora en Python

Spread the love

Python ofrece potentes herramientas para trabajar con fechas y horas. A menudo, necesitarás convertir cadenas de fecha y hora en objetos datetime para facilitar su manipulación y análisis. Este artículo explora diferentes métodos para lograr esta conversión, centrándose en la flexibilidad y el manejo de errores.

Tabla de contenido

Usando datetime.strptime()

La función datetime.strptime() es una opción común para la conversión de cadena a datetime. Toma dos argumentos:

  1. date_string: La cadena que contiene la información de fecha y/o hora.
  2. format: Una cadena de formato que especifica cómo se representan la fecha y la hora en date_string.

La cadena de formato usa directivas para representar diferentes partes de la fecha y la hora. Aquí hay algunas directivas clave:

Directiva Significado Ejemplo
%Y Año con siglo 2024
%y Año sin siglo 24
%m Mes (01-12) 03
%d Día del mes (01-31) 15
%H Hora (reloj de 24 horas, 00-23) 14
%I Hora (reloj de 12 horas, 01-12) 02
%p AM/PM PM
%M Minuto (00-59) 30
%S Segundo (00-59) 00
%f Microsegundo (000000-999999) 123456
%A Nombre del día de la semana (completo) Lunes
%a Nombre del día de la semana (abreviado) Lun
%B Nombre del mes (completo) Marzo
%b Nombre del mes (abreviado) Mar

El orden de las directivas en la cadena de formato debe coincidir con el orden en la cadena de fecha.


from datetime import datetime

date_string = "2024-03-15 14:30:00"
format = "%Y-%m-%d %H:%M:%S"

datetime_object = datetime.strptime(date_string, format)
print(datetime_object)  # Salida: 2024-03-15 14:30:00

Métodos alternativos de conversión

Para formatos de fecha más complejos o menos estándar, considera usar bibliotecas como dateutil:


from dateutil import parser

date_string = "March 15th, 2024 2:30 PM"
datetime_object = parser.parse(date_string)
print(datetime_object)

Manejo robusto de errores

Siempre envuelve strptime en un bloque try-except para manejar posibles excepciones ValueError:


try:
    datetime_object = datetime.strptime(date_string, format)
except ValueError as e:
    print(f"Error convirtiendo la cadena de fecha: {e}")

Manejo de diversos formatos de fecha y hora

Para formatos de entrada variados, es posible que necesites preprocesar la cadena o usar expresiones regulares para extraer los componentes de la fecha antes de aplicar strptime o dateutil.parser.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *