Получить текущее время в миллисекундах в Python?
Как я могу получить текущее время в миллисекундах в Python?
9 ответов
для того, что мне нужно, вот что я сделал, основываясь на комментарии @samplebias выше:
import time
millis = int(round(time.time() * 1000))
print millis
быстрая Эн'easy. Спасибо всем, извините за мозговой пердеж.
для повторного использования:
import time
current_milli_time = lambda: int(round(time.time() * 1000))
затем:
>>> current_milli_time()
1378761833768
времени.time () может дать разрешение только второму, предпочтительным подходом для миллисекунд является 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)
другое решение-это функция, которую вы можете встроить в свой собственный utils.py
import time as time_ #make sure we don't override time
def millis():
return int(round(time_.time() * 1000))
Если вы хотите простой метод в коде, который возвращает миллисекунды с 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
самый простой способ, который я нашел, чтобы получить текущее время UTC в миллисекундах:
# timeutil.py
import datetime
def get_epochtime_ms():
return round(datetime.datetime.utcnow().timestamp() * 1000)
# sample.py
import timeutil
timeutil.get_epochtime_ms()
микросекунды 1/1000000 секунд, миллисекунды 1/1000 секунд так
dt.микросекунды / 1000.0 должны быть dt.микросекунд/1000000.0