Получить текущее время в миллисекундах в 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()

просто пример кода:

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

выход: 1534343781311


микросекунды 1/1000000 секунд, миллисекунды 1/1000 секунд так

dt.микросекунды / 1000.0 должны быть dt.микросекунд/1000000.0


    from datetime import datetime
    d = datetime.now()
    print d.microsecond/1000 + d.second*1000