Python Programming

Dominando Conversões de Data e Hora em Python

Spread the love

Python oferece ferramentas poderosas para trabalhar com datas e horas. Muitas vezes, será necessário converter strings de data e hora em objetos datetime para facilitar a manipulação e análise. Este artigo explora diferentes métodos para alcançar essa conversão, focando em flexibilidade e tratamento de erros.

Sumário

Usando datetime.strptime()

A função datetime.strptime() é uma escolha comum para conversão de string para datetime. Ela recebe dois argumentos:

  1. date_string: A string contendo as informações de data e/ou hora.
  2. format: Uma string de formato especificando como a data e a hora são representadas em date_string.

A string de formato usa diretivas para representar diferentes partes da data e da hora. Aqui estão algumas diretivas importantes:

Diretiva Significado Exemplo
%Y Ano com século 2024
%y Ano sem século 24
%m Mês (01-12) 03
%d Dia do mês (01-31) 15
%H Hora (relógio de 24 horas, 00-23) 14
%I Hora (relógio de 12 horas, 01-12) 02
%p AM/PM PM
%M Minuto (00-59) 30
%S Segundo (00-59) 00
%f Microssegundo (000000-999999) 123456
%A Nome do dia da semana (completo) Segunda-feira
%a Nome do dia da semana (abreviado) Seg
%B Nome do mês (completo) Março
%b Nome do mês (abreviado) Mar

A ordem das diretivas na string de formato deve corresponder à ordem na string de data.


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)  # Saída: 2024-03-15 14:30:00

Métodos Alternativos de Conversão

Para formatos de data mais complexos ou menos padrão, considere usar bibliotecas como dateutil:


from dateutil import parser

date_string = "15 de março de 2024 14:30"
datetime_object = parser.parse(date_string)
print(datetime_object)

Tratamento Robusto de Erros

Sempre envolva strptime em um bloco try-except para lidar com possíveis exceções ValueError:


try:
    datetime_object = datetime.strptime(date_string, format)
except ValueError as e:
    print(f"Erro convertendo a string de data: {e}")

Lidando com Diversos Formatos de Data e Hora

Para formatos de entrada variados, você pode precisar pré-processar a string ou usar expressões regulares para extrair os componentes da data antes de aplicar strptime ou dateutil.parser.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *