biblioteca - Obtener la hora actual en milisegundos en Python?
fecha actual python (9)
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()
¿Cómo puedo obtener la hora actual en milisegundos en Python?
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
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
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
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))
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
from datetime import datetime d = datetime.now() print d.microsecond/1000 + d.second*1000
def TimestampMillisec64():
return int((datetime.datetime.utcnow() - datetime.datetime(1970, 1, 1)).total_seconds() * 1000)