以下是我经常看到的代码示例:
import time
def gettime():
return int(round(time.time()*1000))
在这种情况下,在此代码中使用round()
的原因是什么? <{1}}总是在小数点后返回1-2位数,因此time.time()
函数似乎没用。
答案 0 :(得分:6)
无用,我系统中的time.time()
返回类似的内容:
1430407063.751232
乘以1000返回:
1430407063751.232
round
将此内容舍入到1430407063751.0
,但如果是1430407063751.532
,则会将其四舍五入为1430407063752.0
。
返回自纪元以来的秒数作为浮点数。请注意,即使时间总是作为浮点数返回,但并非所有系统都提供的精度高于1秒。虽然此函数通常返回非递减值,但如果在两次调用之间设置了系统时钟,则它可以返回比先前调用更低的值。
答案 1 :(得分:2)
一个原因可能是,某些系统没有返回毫秒,因此您在所有系统上都有相同的行为。举个例子:
>>> time.time()
1430407091.766831
>>> round(time.time())
1430407097.0
在某些系统上,运行于1430407097.0的Python将是“正常”返回值。