Python time库基本操作方法

time.time() 获取当前时间戳(现在时间与1970年1月1日0时0分0秒的时间差(单位:秒))
time.gmtime(secs) 获取当前时间戳对应的struct_time对象
time.localtime(secs) 获取当前时间戳对应的本地时间的struct_time对象。结果与gmtime不同,UTC时间已自动转换为北京时间。
time.ctime(secs) 获取当前时间戳对应字符串的,内部会调用time.localtime()函数,返回的是当地时间。
time.sleep(secs) 强制等待secs秒。
time.perf_counter() 返回一个性能计数器的值(在分秒内),即一个具有最高可用分辨率的时钟,以测量短时间。它包括了在睡眠期间的时间,并且是系统范围的。返回值的引用点是未定义的,因此只有连续调用的结果之间的差异是有效的。
就是这么多,还有一个叫做时间格式化的东西,我待会儿再说。

这个time.perf_counter()的解释大家看着肯定很吃力,现在我来举个例子:

import time
start = time.perf_counter()
time.sleep(2)
end = time.perf_counter()
print(end-start)
 
说到底,就是一个计算时间的东西,但是非常精确。
因为内存以及一些其它的因素,所以每次执行的结果几乎都不同。

首先定义start为time.perf_counter()。这个函数如果就这么用是不能计时的,start的值是赋值的时候用的时间,并不是动态计时。因此在强制等待两秒后,需要再赋值一个变量,然后相减,得到运行的时间。

有些朋友会问,它不是只等待了2秒吗?怎么是1.999几,或者是2.00001之类与2及其接近的数?

这是个好问题,需要有两个解答。

大于2的结果:我刚刚也说了,有可能执行的时候内存或者什么问题。但这不是必然的,必然的是,变量赋值,解包之类的一系列动作,都是需要时间的,只不过计算机运行的很快,我们感觉不到。

小于2的结果:人有误差,计算机也有可能有。所以这是误差造成的,不过因为这个误差极小,所以对普通的计时没什么大影响。

现在说说时间格式化。

time.strftime()
该方法利用一个格式字符串,对时间格式进行表达。
————————————————
版权声明:本文为CSDN博主「波斯王」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Persia_king/article/details/105616280

posted @ 2020-04-20 17:04  逍-遥  阅读(499)  评论(0编辑  收藏  举报
民营企业网B2B