time库中三类重要的函数:
(1)时间获取函数:time()、ctime()、gmtime()
(2)时间格式化函数:strftime()、strptime()
(3)程序计时应用函数:sleep()、perf_counter()
1.时间获取函数:
(1)time()函数:返回当前时间的时间戳。
import time
print(time.time())
运行结果:
1571837388.4857347
(2)ctime()函数:把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。time.asctime():接受时间元组并返回一个可读的形式为"Wed Oct 23 21:33:05 2019"的24个字符的字符串。
import time
print(time.ctime())
运行结果:
Wed Oct 23 21:33:05 2019
(3)gmtime()函数:主要是用于获取获取UTC(世界协调时间)标准时间
import time
print(time.gmtime())
运行结果:
time.struct_time(tm_year=2020, tm_mon=4, tm_mday=10, tm_hour=10, tm_min=27, tm_sec=1, tm_wday=4, tm_yday=101, tm_isdst=0)
当前UTC时间如图:(当然与代码所显示的时间有点出入,毕竟截图需要一点时间嘛,手速没那么快,哈哈哈)
2.时间格式化函数:
(1)strftime():语法详见链接:https://www.runoob.com/python/att-time-strftime.html讲的比较详细。
(2)strptime():语法详见链接:https://www.runoob.com/python/att-time-strptime.html讲的比较详细。
3.程序计时应用函数:
(1)sleep():这个函数我不多讲了,非常简单,就是让程序暂停(休眠)。sleep()函数的调用需要一个时间作为参数,代表程序执行挂起的时间间隔。
(2)perf_counter():返回一个CPU级别的精确时间计数值,单位为秒。
例如:
import time
start=time.perf_counter()
print("开始时间:",start)
end=time.perf_counter()
print("结束时间:",end)
duration=end-start
print("间隔时间即为:",duration)
运行结果:
开始时间: 0.028515
结束时间: 0.0285433
间隔时间即为: 2.8300000000001935e-05
在菜鸟教程里面还提及了一个比较高大上的应用,感觉还是比较有意思的,大家可以看看:https://www.runoob.com/note/35499
这是相关代码:
import time
scale = 50
# center()的作用是控制输出的样式,宽度为 25,汉字居中,两侧填充“-”
print("执行开始".center(scale//2,"-"))
# 调用一次 perf_counter(),从计算机系统里随机选一个时间点A,计算其距离当前时间点B1有多少秒。
# 当第二次调用该函数时,默认从第一次调用的时间点A算起,距离当前时间点B2有多少秒。
# 两个函数取差,即实现从时间点B1到B2的计时功能。
start = time.perf_counter()
for i in range(scale+1):
a = '*' * i #有i个符号“*”
b = '.' * (scale-i) #有(scale-i)个符号“.”
c = (i/scale)*100 #显示当前进度,百分之多少
dur = time.perf_counter()-start #计时,计算进度条走到某一百分比的用时
#\r用来在每次输出完成后,将光标移至行首,这样保证进度条始终在同一行输出,即在一行不断刷新的效果;
# {:^3.0f},输出格式为居中,占3位,小数点后0位,浮点型数,对应输出的数为c;
# {},对应输出的数为a;
# {},对应输出的数为b;
# {:.2f},输出有两位小数的浮点数,对应输出的数为dur;
# end='',用来保证不换行
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
time.sleep(0.1) # 在输出下一个百分之几的进度前,停止0.1秒
print("\n"+"执行结果".center(scale//2,'-'))