Python计算程序运行时间秒级/毫秒级的两种方法datetime和time

简单粗暴,先上代码:

import datetime
import time

# 方法一:datetime.datetime.now() 时间和日期的结合 eg: 2021-10-15 14:19:27.875779
start_dt = datetime.datetime.now()
print("start_datetime:", start_dt)
time.sleep(2)
for i in range(10000):
    i += 1

end_dt = datetime.datetime.now()
print("end_datetime:", end_dt)
print("time cost:", (end_dt - start_dt).seconds, "s")


# -----------------------------------------------------------------
# 方法二:time.time() 获取当前时间戳
start_time = time.time()
print("start_time:", start_time)
time.sleep(2)
for i in range(10000):
    i += 1

end_time = time.time()
print("end_time:", end_time)
print("time cost:", end_time - start_time, "s")
print("time cost:", float(end_time - start_time) * 1000.0, "ms")

输出结果:

start_datetime: 2021-10-15 14:19:27.875779
end_datetime: 2021-10-15 14:19:29.877386
time cost: 2 s
start_time: 1634278769.8773868
end_time: 1634278771.8848374
time cost: 2.007450580596924 s
time cost: 2007.4505805969238 ms

分析:

datetime.datetime.now() 是时间和日期的结合。如: 2021-10-15 14:19:27.875779。计算时间差的时候需要调用.seconds或者.microseconds方法,如上面代码中:(end_dt - start_dt).seconds, 得到整数秒(或微秒)

datetime — 基本日期和时间类型

time.time() 用于获取当前时间戳。每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。时间间隔是以秒为单位的浮点小数。换算成毫秒乘以1000即可。如上面代码中:
print(“time cost:”, float(end_time - start_time) * 1000.0, “ms”)

Python中time和calendar模块


希望以上代码对大家有用哦~

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐