Como você inverte gmtime()
, onde coloca a hora + data e obtém o número de segundos?
Eu tenho seqüências de caracteres como 'Jul 9, 2009 @ 20:02:58 UTC'
e quero recuperar o número de segundos entre a época e 9 de julho de 2009.
Eu tentei, time.strftime
mas não sei como usá-lo corretamente ou se é o comando correto a ser usado.
Use o módulo de tempo :
fonte
time
usar a época Unix (1970).time.time()
value NÃO depende do fuso horário local (se excluirmos fusos horários "corretos" e similares), por exemplo, se ele retornar o tempo POSIX (como acontece na maioria dos sistemas), será o número de segundos SI desde a época (1970-01-01UTC) sem contar segundos bissextos. Este valor pode ser convertido para UTC (excluindo segundos bissextos), mas não é UTC . @MarlonAbeykoon: Eu gosto de esta respostaObserve que
time.gmtime
mapeia o registro0
de data e hora para1970-1-1 00:00:00
.time.mktime(time.gmtime(0))
fornece um carimbo de data / hora alterado de acordo com a sua localidade, que geralmente não pode ser 0.O inverso de
time.gmtime
écalendar.timegm
:fonte
mktime()
comgmtime()
.mktime()
aceita a hora local, masgmtime()
retorna a hora UTC - seu fuso horário local pode e provavelmente será diferente. "registro de data e hora em relação ao seu código do idioma" não faz sentido: o registro de data e hora do POSIX não depende do seu código de idioma (fuso horário local) - é o mesmo valor em todo o mundo. "segundos desde a época" é o carimbo de data / hora do POSIX na maioria dos casos (mesmo no Windows) - coisas como fusos horários "certos" que usam a escala de tempo TAI não são comuns. Consulte O time.time () do Python retorna o carimbo de data / hora local ou UTC?mktime()
recentemente. Para alguns servidores Web python (Tornado, por exemplo), como o processo continua em execução, mesmo que eu mude o código do idioma do sistema, osmktime()
chamados pela API do servidor Web ainda usam o fuso horário antigo para gerar o objeto de tempo. Eu tenho que mudargmtime()
e aplicar manualmente o deslocamento gmt.Isso deve ser diferente
int(time.time())
, mas é seguro usar algo comox % (60*60*24)
datetime - tipos básicos de data e hora:
fonte
fonte
from datetime import datetime
ou fazerdatetime.datetime.strptime
Existem duas maneiras, dependendo do carimbo de data / hora original:
mktime()
etimegm()
http://docs.python.org/library/time.html
fonte