Como converter Python string em datetime
Objetos datetime possibilitam a realização de cálculos de tempo simples, como adicionar ou subtrair intervalos. A conversão de strings em objetos datetime é essencial para organizar, analisar e exibir dados de tempo com precisão na linguagem de programação Python.
Como converter Python string em datetime?
A conversão de uma Python string em datetime envolve a transformação de uma string de texto, que inclui uma data e/ou hora, em um objeto datetime. Esse é o nome dado a uma estrutura de dados em Python criada para manipular e ajustar informações de data e hora. A conversão de strings em datetime costuma ser necessária para manipular dados de data e hora que são exibidos em formato string.
Os dados são convertidos em um formato que pode ser usado para realizar cálculos, comparar datas ou formatar informações de hora, entre outras possibilidades. Métodos para concatenar expressões usando a formatação de string em Python também podem ser úteis no gerenciamento de objetos datetime.
Rápido e escalável, confie na hospedagem da IONOS, que inclui domínio grátis no primeiro ano e endereço de e-mail!
- Domínio
- SSL Wildcard
- Suporte 24 horas
Métodos para converter Python string em datetime?
Existem diversas funções e módulos, como a biblioteca datetime
e o método strptime()
, que podem ser usadas para converter strings em objetos datetime e vice-versa.
strptime()
O método strptime()
(string parse time) da biblioteca datetime
é usado para converter uma string em um objeto datetime em Python. Dois argumentos são necessários: a string analisada e o formato de data/hora da string.
datetime.datetime()
Com o método strptime()
, uma string pode ser convertida em um objeto datetime.datetime
, seguindo um formato específico de data/hora.
Neste exemplo, date_string
é especificado como '2023-10-30 12:00:00'
, e o formato '%Y-%m-%d %H:%M:%S'
define a ordem e a forma como a data e a hora devem aparecer na string. O método strptime()
interpreta a string baseada nesse formato e gera um objeto datetime.datetime
que, em seguida, é armazenado na variável date_object
.
Entenda o que significa '%Y-%m-%d %H:%M:%S'
:
%Y
: Ano em quatro dígitos%m
: Mês em dois dígitos%d
: Dia em dois dígitos%H
: Hora (formato de 24 horas)%M
: Minutos%S
: Segundos
datetime.time()
Ao converter strings em um objeto datetime.time
, você consegue representar a hora sem uma data. Isso pode ser feito usando o método strptime()
da classe datetime
ou dividindo uma string de tempo em horas, minutos e segundos.
'%H:%M:%S'
representa o formato “horas:minutos:segundos”. O método strptime()
interpreta a string de tempo de acordo com esse formato e cria um objeto datetime.time
.
datetime.date()
Também é possível transformar uma string em um objeto datetime.date
usando o método strptime()
da classe datetime
ou dividindo, manualmente, a string de data em componentes de ano, mês e dia.
'%Y-%m-%d'
é o formato “ano-mês-dia”. O método strptime()
analisa a string de data e cria um objeto datetime.date
.
Como solucionar erros com strptime()
Ao usar o método strptime()
para converter objetos datetime no Python, você pode se deparar com erros, especialmente se o formato especificado não corresponder ao formato da string de entrada. Estes são alguns erros comuns e suas respectivas soluções:
-
ValueError: time data '...' does not match format '...'
: Este erro ocorre se a string de entrada não corresponder ao formato especificado. Certifique-se de que o padrão correto do formato seja usado emstrptime()
. -
ValueError: unconverted data remains
: Este erro é exibido se os dados não interpretados continuarem aparecendo após o processamento da string. Assegure-se de que o padrão do formato aborde todas as seções da string de entrada. -
TypeError: strptime() argument 1 must be str, not ...
: Este erro pode ocorrer se o parâmetro passado astrptime()
não for uma string. Certifique-se de que o valor informado seja uma string que inclui o formato data/hora.
Assegure-se de que o padrão do formato interprete corretamente todas as partes da string de entrada (ano, mês, dia, hora etc.). Também é importante considerar todas as possíveis diferenças de separadores, letras maiúsculas e minúsculas e outros detalhes entre o padrão do formato e a string de entrada.