python随笔:time库的使用

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,'-'))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值