Python——time库的三类函数

时间获取:

  1. time:获得当前的时间戳,浮点数,从1970.1.1 0:00开始以秒为单位的数值
  2. ctime():获得当前时间并以易读方式表示,返回字符串
  3. gmtime():表示为计算机可处理的时间格式:

例:

time.struct_time(tm_year=2022, tm_mon=3, tm_mday=4, tm_hour=7,tm_min=24, tm_sec=23, tm_wday=4, tm_yday=63, tm_isdst=0)

时间格式化:

  1. strptime(str,tpl)
    tpl是格式化模板字符串,用来定义输出效果;ts是计算机内部时间类型变量

例:

t = time.gmtime()
time.strftime(“%Y-%m-%d %H:%M:%S”,t)

知识点:

表达意思
%Y年份
%m月份
%B月份名称
%b月份名称缩写
%d日期
%A星期
%a星期缩写
%H小时-24小时制
%I小时12小时制
%p上/下午
%M分钟
%S
  1. strptime(str,tpl)
    str是字符串形式的时间值

例:

timeStr = ‘2018-01-26 12:55:20’ time.strptime(timeStr,“%Y-%m-%d %H:%M:%S”)

输出:

time.struct_time(tm_year=2018, tm_mon=1, tm_mday=26,tm_hour=12, tm_min=55, tm_sec=20, tm_wday=4, tm_yday=26, tm_isdst=-1)

程序计时:

指测量起止动作所经历时间的过程

  1. 测量时间:perf_counter()
    返回一个CPU级别的精确时间计数值,单位为妙
    例:输入

start = time.perf_counter()
end = time.perf_counter()
end - start

  1. 产生时间:sleep()
    sleep(s):s拟休眠时间,单位为妙,可以是浮点数。
    例:

def wait():
time.sleep(3.3)
wait() #程序等待3.3秒再退出

实例:文本进度条

输入:

#TextProBarV1.py
import time
scale = 10
print("------执行开始------")
for i in range(scale+1):
    a = '*' * i
    b = '.' *(scale-i)
    c = (i/scale)*100
    print("{:^3.0f}%[{}->{}]".format(c,a,b))
    time.sleep(0.1)
print("-----执行结束------")

输出:

------执行开始------
 0 %[->..........]
10 %[*->.........]
20 %[**->........]
30 %[***->.......]
40 %[****->......]
50 %[*****->.....]
60 %[******->....]
70 %[*******->...]
80 %[********->..]
90 %[*********->.]
100%[**********->]
-----执行结束------
>>> 

为实行单行动态刷新:在输出某一个字符的字符串的时候不能换行到下一行,对print()函数实现控制,打印后光标能退回到之前的位置 \r
输入:

#TextProBarV1.py
import time
for i in range(101):    #0%~100%,需要101次
    print("\r{:3}%".format(i),end="")
    ''',end=""  不换行,光标停留在当次输出字符串的后面
    光标先放在行首,再输出,输出后不换行,进入下一次循环'''
    time.sleep(0.1)

输出:
在这里插入图片描述
这是因为利用IDLE环境F5键运行结果,IDLE是一个编写程序的开发环境,并不是运行程序的主要环境,程序其实是没有错的。可利用命令提示符进行查看,见下面。

import time
scale = 50
print("执行开始".center(scale//2,'-'))
start = time.perf_counter()
for i in range(scale+1):
    a = '*' * i        
    b = '.' *(scale-i)  
    c = (i/scale)*100
    dur = time.perf_counter()-start  #记录每次打印文本进度条时所消耗的时间
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
    time.sleep(0.1)
print("\n"+"执行结束".center(scale//2,"-"))

输出:
在这里插入图片描述
在这里插入图片描述
~ 学习快乐呀 ~

  • 9
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个小白在努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值