Pregunta ¿Cuál es la forma más fácil de obtener la hora GMT actual en el formato de indicación de fecha y hora de Unix?


Python proporciona diferentes paquetes (datetime, time, calendar) como puede verse aquí para lidiar con el tiempo Cometí un gran error al usar lo siguiente para obtener la hora GMT actual time.mktime(datetime.datetime.utcnow().timetuple())

¿Cuál es una forma simple de obtener la hora GMT actual en la marca de tiempo de Unix?


73
2018-05-26 01:24


origen


Respuestas:


Usaría time.time () para obtener una marca de tiempo en segundos desde la época.

import time

time.time()

Salida:

1369550494.884832

Para la implementación estándar de CPython en la mayoría de las plataformas, esto devolverá un valor UTC.


127
2018-05-26 06:42



¿Esto ayuda?

from datetime import datetime
import calendar

d = datetime.utcnow()
unixtime = calendar.timegm(d.utctimetuple())
print unixtime

Cómo convertir objetos Python UTC datetime a UNIX timestamp


36
2018-05-26 01:31



import time

int(time.time()) 

Salida:

1521462189

19
2018-03-19 12:25



O simplemente usando el módulo estándar de fecha y hora

In [2]: from datetime import timezone, datetime
   ...: int(datetime.now(tz=timezone.utc).timestamp() * 1000)
   ...: 
Out[2]: 1514901741720

Puede truncar o multiplicar según la resolución que desee


3
2018-06-27 13:31



Me gusta este método:

import datetime, time

dts = datetime.datetime.utcnow()
epochtime = round(time.mktime(dts.timetuple()) + dts.microsecond/1e6)

Los otros métodos publicados aquí no garantizan la UTC en todas las plataformas o solo informan segundos enteros. Si quieres una resolución completa, esto funciona, hasta el microsegundo.


0
2017-10-07 16:58