Pergunta

Supondo que o texto seja digitado ao mesmo tempo no mesmo fuso horário (israelense), as seguintes linhas de texto gratuitas são equivalentes:

Wed Sep  9 16:26:57 IDT 2009
2009-09-09 16:26:57
16:26:57
September 9th, 16:26:57

Existe um módulo Python que converteria todas essas datas de texto em um (idêntico) datetime.datetime instância?

Eu gostaria de usá-lo em uma ferramenta de linha de comando que receberia uma data e hora do FreeText como um argumento e retornariam a data e hora equivalentes em diferentes fusos horários, por exemplo:

~$wdate 16:00 Israel
Israel:        16:00
San Francisco: 06:00
UTC:           13:00

ou:

~$wdate 18:00 SanFran
San Francisco  18:00:22
Israel:        01:00:22 (Day after)
UTC:           22:00:22

Alguma ideia?

Obrigado,

Udi

Foi útil?

Solução

ParsedateTime Parece ser um módulo muito capaz para esta tarefa específica.

Outras dicas

o Python-Dateutil Pacote parece que seria útil. Seus exemplos usam apenas o timestamps simples de HH: mm com um identificador da cidade (magicamente reduzido), mas parece capaz de lidar com formatos mais complicados como os mais cedo na pergunta também.

Você poderia time.strptime

Assim :

time.strptime("2009-09-09 16:26:57", "%Y-%m-%d %H:%M:%S")

Ele retornará um valor struct_time (mais informações na página do documento python).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top