Como obter a hora atual em Python?
Ao trabalhar com dados, você pode frequentemente se deparar com datas e horas representadas como strings. Converter uma string para objetos datetime em Python é uma tarefa comum, pois permite que você realize operações como comparações, cálculos e formatação de maneira mais fácil. Neste artigo, vamos explorar como converter strings como “Jan 1 2023 4:23PM” em objetos datetime.
datetime.strptime para Analisar StringsO módulo datetime em Python fornece um método chamado strptime, que significa “analisar string para tempo”. Esse método permite converter uma string em um objeto datetime. Veja como você pode usá-lo:
from datetime import datetime
# Converter uma string em um objeto datetime
objeto_datetime = datetime.strptime('Jan 1 2023 4:23PM', '%b %d %Y %I:%M%p')
print(objeto_datetime) # Saída: datetime.datetime(2023, 1, 1, 16, 23)TestarNo exemplo acima, %b %d %Y %I:%M%p é a string de formato que indica ao strptime como interpretar a string de entrada. Cada diretiva corresponde a um componente específico da data e hora. Por exemplo, %b é o nome abreviado do mês, %d é o dia do mês e %Y é o ano com quatro dígitos.
Se você precisar apenas da parte da data do objeto datetime, pode convertê-la usando o método .date():
from datetime import datetime
# Converter um objeto datetime em um objeto date
objeto_date = datetime.strptime('Jan 1 2023', '%b %d %Y').date()
print(objeto_date) # Saída: date(2023, 1, 1)Testardateutil.parser para Análise FlexívelSe você está lidando com uma variedade de formatos de data e deseja uma solução mais flexível, o módulo parser da biblioteca dateutil pode ser muito útil. Ele pode analisar a maioria dos formatos de data sem a necessidade de uma string de formato:
from dateutil import parser
# Analisar uma string em um objeto datetime sem especificar um formato
objeto_datetime = parser.parse("Jan 1 2023 4:23PM")
print(objeto_datetime) # Saída: datetime.datetime(2023, 1, 1, 0, 0)TestarPara usar o dateutil.parser, você precisa instalar a biblioteca primeiro:
pip install python-dateutiltime.strptime para Objetos de TempoOutro módulo que você pode usar é o módulo time, que fornece uma função strptime semelhante à do módulo datetime. Ele retorna um objeto struct_time que pode ser convertido em um objeto datetime ou date:
import time
from datetime import datetime, date
# Analisar uma string em um objeto struct_time
struct_time = time.strptime('Jan 1 2023 4:23PM', '%b %d %Y %I:%M%p')
# Converter struct_time em um timestamp
timestamp = time.mktime(struct_time)
# Converter timestamp em um objeto datetime
objeto_datetime = datetime.fromtimestamp(timestamp)
print(objeto_datetime) # Saída: datetime.datetime(2023, 1, 1, 16, 23)
# Converter timestamp em um objeto date
objeto_date = date.fromtimestamp(timestamp)
print(objeto_date) # Saída: date(2023, 1, 1)TestarNeste artigo, cobrimos três métodos para converter uma string em objetos datetime em Python. Usamos o método datetime.strptime para análise precisa de formato, o dateutil.parser para análise flexível sem especificar um formato e o método time.strptime para trabalhar com objetos struct_time. Cada método tem seus próprios casos de uso, e escolher o certo depende dos requisitos específicos da sua tarefa. Lembre-se, trabalhar com objetos datetime facilita o manuseio de dados de data e hora em suas aplicações Python.
Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:
Comentários
30xp