我需要一个从纪元开始毫秒(ms)的时间戳。这应该不难,我确信我只是错过了一些datetime
或类似的方法。
实际上,微秒(µs)粒度也很好。我只需要1/10秒以下的时间。
举例说明。我有一个事件,每750ms发生一次,假设它检查灯是开着还是关着的。我需要记录每个检查和结果,并在以后查看它,因此我的日志需要如下所示:
...00250 Light is on
...01000 Light is off
...01750 Light is on
...02500 Light is on
如果我只有整整一秒的粒度,我的日志将如下所示:
...00 Light is on
...01 Light is off
...01 Light is on
...02 Light is on
不够准确。
发布于 2011-03-23 02:19:51
import time
time.time() * 1000
其中1000是每秒毫秒。如果你想要的是从新纪元开始的百分之一秒,乘以100。
发布于 2014-09-08 18:33:29
在Python语言中,datetime.now()
可能会生成比time.time()
更精确的值
from datetime import datetime, timezone, timedelta
now = datetime.now(timezone.utc)
epoch = datetime(1970, 1, 1, tzinfo=timezone.utc) # use POSIX epoch
posix_timestamp_micros = (now - epoch) // timedelta(microseconds=1)
posix_timestamp_millis = posix_timestamp_micros // 1000 # or `/ 1e3` for float
从理论上讲,time.gmtime(0)
(time.time()
使用的纪元)可能不同于1970
。
https://stackoverflow.com/questions/5395872
复制相似问题