Python fornece pacotes diferentes ( datetime
, time
, calendar
), como pode ser visto aqui , a fim de lidar com o tempo. Cometi um grande erro ao usar o seguinte para obter a hora GMT atualtime.mktime(datetime.datetime.utcnow().timetuple())
Qual é uma maneira simples de obter a hora GMT atual no carimbo de data e hora do Unix?
python
time
unix-timestamp
Cory
fonte
fonte
datetime.utcnow()
retorna a hora UTC atual como objeto datetime (presumo que você queira UTC quando estiver falando sobre "hora GMT").time.time()
retorna o carimbo de data e hora do Unix diretamente como número flutuante. Veja como converter datetime.date/datetime.datetime representando a hora no UTC para o carimbo de data / hora POSIX .Respostas:
Eu usaria time.time () para obter um timestamp em segundos desde a época.
Resultado:
Para a implementação padrão do CPython na maioria das plataformas, isso retornará um valor UTC.
fonte
Resultado:
fonte
Isso ajuda?
Como converter o objeto de data e hora do Python UTC em carimbo de data e hora do UNIX
fonte
time.time()
e não precisa de conversão de data e hora.Ou simplesmente usando o módulo padrão de data e hora
Você pode truncar ou multiplicar, dependendo da resolução desejada. Este exemplo está produzindo milis.
Se você deseja um carimbo de data / hora Unix adequado (em segundos), remova o
* 1000
fonte
moment
biblioteca Javascriptmoment().utc().valueOf()
. Exatamente o que eu estava procurando. Graçaspython2 e python3
é bom usar módulo de tempo
você também pode usar o módulo datetime, mas quando você usa strftime ('% s'), mas o strftime converte o horário para o horário local!
python2
python3
fonte
time.time()
edatetime.utcnow().timestamp()
que não dar o mesmo valor!Eu gosto deste método:
Os outros métodos publicados aqui não garantem o UTC em todas as plataformas ou relatam apenas segundos inteiros. Se você deseja resolução total, isso funciona, no micro-segundo.
fonte
utctimetuple
vez disso, faz o truque.Resultado:
fonte
time.time()
para mim.dt.utcnow
retornou umadatetime
informação sem fuso horário. Entãostrftime
assume quedatetime
é a hora local.fonte
Pelo menos em python3, isso funciona:
fonte