关于datetime:UTC的当前时间戳,精确到毫秒

Python current timestamp for UTC with millisecond accuracy

我希望从UTC时间的纪元以来经过毫秒。 对于python来说,这似乎是一个非常简单的任务,但我有点卡在这里。

我可以用

1
time.time() * 1000

但是根据底层系统,这可能会返回UTC或本地时间的值。

我也可以使用像这样的方法

1
time.mktime(datetime.utcnow().timetuple()) * 1000

但是我不能用这一点获得毫秒级的精度,乘以1000只能在末尾增加三个零,但我需要精确的毫秒,因为我需要监视花费不到一秒钟的过程。


如果您使用Python 3.3+,则可以使用datetime.datetime.timestamp

1
2
3
4
5
>>> import datetime
>>> datetime.datetime.utcnow().timestamp()
1409120835.727991
>>> int(_ * 1000)
1409120835727

这是获得毫秒的一种方法

1
2
3
ts =  datetime.utcnow()
print ts.microsecond  #prints microseconds
print time.mktime(ts.timetuple()) + ts.microsecond * 1e-6

产量

1
2
128852
1409151725.13