15.12.2022 Views

Python Eficaz

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

>>>

2014-08-10 11:18:30

É preciso fazer o caminho de volta também, pois o usuário fatalmente informará

horários no fuso local que devem ser convertidos para tempo Unix em UTC. A

função strptime faz isso, analisando a string de entrada e a armazenando numa

tupla junto com o formato usado. A tupla é repassada à função mktime, que a

converte em um valor de tempo Unix.

from time import mktime, strptime

time_tuple = strptime(time_str, time_format)

utc_now = mktime(time_tuple)

print(utc_now)

>>>

1407694710.0

Como faríamos para converter o horário de um fuso para outro? Por exemplo,

digamos que estejamos em um avião entre São Francisco e Nova York, e

gostaríamos de saber qual é o horário em São Francisco no momento em que

chegarmos a Nova York.

Manipular diretamente os valores devolvidos pelas funções time, localtime e

strptime para realizar conversões de fuso horário é má ideia. Os fusos horários

mudam a toda hora devido a leis locais e horário de verão. É extremamente

complicado gerenciar tudo isso sozinho, especialmente se quisermos incluir

todas as cidades no mundo que tenham voos chegando ou partindo.

Muitos sistemas operacionais têm arquivos de configuração que são atualizados

automaticamente quando as informações de fuso horário mudarem. O módulo

time permite usar esses fusos horários. Por exemplo, o código a seguir analisa o

horário de partida no fuso horário de São Francisco, que é o já mencionado

Pacific Daylight Time (representado no código como PDT):

parse_format = '%Y-%m-%d %H:%M:%S %Z'

depart_sfo = '2014-05-01 15:45:16 PDT'

time_tuple = strptime(depart_sfo, parse_format)

time_str = strftime(time_format, time_tuple)

print(time_str)

www.full-ebook.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!