Obtener la hora actual en milisegundos en Python?

¿Cómo puedo obtener la hora actual en milisegundos en Python?

Para lo que necesitaba, esto es lo que hice, basado en el comentario anterior de @samplebias:

 import time millis = int(round(time.time() * 1000)) print millis 

Quick’n’easy. Gracias a todos, lo siento por el cerebro pedo.

Para su reutilización:

 import time current_milli_time = lambda: int(round(time.time() * 1000)) 

Entonces:

 >>> current_milli_time() 1378761833768 

time.time() solo puede dar una resolución al segundo, el enfoque preferido para los milisegundos es datetime .

 from datetime import datetime dt = datetime.now() dt.microsecond 
 def TimestampMillisec64(): return int((datetime.datetime.utcnow() - datetime.datetime(1970, 1, 1)).total_seconds() * 1000) 

otra solución es la función que puede insertar en su propio utils.py

 import time as time_ #make sure we don't override time def millis(): return int(round(time_.time() * 1000)) 

Si desea un método simple en su código que devuelva los milisegundos con datetime:

 from datetime import datetime from datetime import timedelta start_time = datetime.now() # returns the elapsed milliseconds since the start of the program def millis(): dt = datetime.now() - start_time ms = (dt.days * 24 * 60 * 60 + dt.seconds) * 1000 + dt.microseconds / 1000.0 return ms 

Solo código de muestra:

 import time timestamp = int(time.time()*1000.0) 

Salida: 1534343781311

La forma más sencilla que he encontrado para obtener la hora UTC actual en milisegundos es:

 # timeutil.py import datetime def get_epochtime_ms(): return round(datetime.datetime.utcnow().timestamp() * 1000) # sample.py import timeutil timeutil.get_epochtime_ms() 

Los microsegundos son 1/1000000 segundos, los milisegundos son 1/1000 segundos, por lo que

dt.microseconds / 1000.0 debe ser dt.microseconds / 1000000.0

     desde datetime importar datetime
     d = datetime.now ()
     imprimir d.microsegundo / 1000 + d.segundo * 1000