关于python:比较亚秒精度的时间

Comparing times with sub-second accuracy

从epoch开始的毫秒数是多少?

请注意,我需要的是实际的毫秒数,而不是秒乘以1000。我正在比较那些需要不到一秒的时间和需要毫秒精度的东西的时间。(我看了很多答案,似乎都有1000个答案)

我正在比较我收到一个POST请求的时间和服务器上的结束时间。我只需要这两次的格式相同,不管是什么。我认为Unix时间是可行的,因为javascript有一个函数来获取它。


time.time() * 1000会给你millisecond精度,如果可能的。


int(time.time() * 1000)会做你想要的。time.time()归来的普遍价值与双精度浮计秒从悬置,所以它是不multiplying愤怒的精密。

另一个词"学院"kqr misleading答案:time.clock()不给你时间的时代。它给你时间,流程跑在unix的CPU时间,或通过从第一通电话的Windows功能,看到Python的文档。

也它的威胁,医生的状态,这是time.time()冰槽的保证给你MS精密。虽然这个说法冰主要为了确保你不按这两个rely精密在线或praehistoric嵌入式硬件,和我不知道任何实例,实际上,你不会得到MS精密。


我看到很多人suggesting time.time()。当time.time()制冰方式"的准确测量的实际时间的一天,它不保证给你millisecond精密!从文件:

Note that even though the time is always returned as a floating point number, not all systems provide time with a better precision than 1 second. While this function normally returns non-decreasing values, it can return a lower value than a previous call if the system clock has been set back between the two calls.

这是不是你想要的程序,当比较两倍!它可以吹上没有这么多有趣的方式,你能告诉我发生了什么事。事实上,当比较两小时,你不知道什么是真的需要两天时间,它是只读的,就像双值有相同的出发点。这个,你time图书馆提供的另一个程序:time.clock()。在文献上说:

On Unix, return the current processor time as a floating point number expressed in seconds. The precision, and in fact the very definition of the meaning of"processor time", depends on that of the C function of the same name, but in any case, this is the function to use for benchmarking Python or timing algorithms.

On Windows, this function returns wall-clock seconds elapsed since the first call to this function, as a floating point number, based on the Win32 function QueryPerformanceCounter(). The resolution is typically better than one microsecond.

使用time.clock()

或如果你只是想测试你的代码如何固定冰上行走,你可以让它对你自己convenient使用timeit.timeit()这是《测量全是你和生命的事实上的标准elapsed测量代码的执行时间。


使用时间:

1
2
3
4
5
6
7
8
>>> import datetime
>>> delta = datetime.datetime.utcnow() - datetime.datetime(1970, 1, 1)
>>> delta
datetime.timedelta(15928, 52912, 55000)
>>> delta.total_seconds()
1376232112.055
>>> delta.days, delta.seconds, delta.microseconds
(15928, 52912, 55000)


1
2
3
import datetime
time = datetime.datetime.now()
ms = time.microsecond

归来的一位microsecond 6号。最后三位数是无用的在PC硬件的信息工程和抽搐,这是slower比microsecond。第一三位应该够了你的需要。