python中的time库
1.总述
import time
(1).获取时间:
time()、ctime()、gmtime()
(2).时间格式化并输出:
strftime()、strptime()
(3).程序计时:
sleep()、perf_counter()
2.获取当前时间
time()函数
获取一个时间戳,即计算机内部的时间值,结果是一个浮点数,其实际意义是从1970年1月1日0:00开始到当前执行time.time()这一时刻为止的以秒为单位的数值
例如:1642429782.1632206
ctime()函数
获取当前时间,并以人类易读的方式表示,返回值是一个字符串,其中含义是:星期 月份 日期 24小时制时间 公元纪年年份
例如:'Mon Jan 17 22:29:48 2022'
gmtime()函数
生成的是计算机程序可以进行处理的时间格式,即struct_time格式
例如:
time.struct_time(tm_year=2022, tm_mon=1, tm_mday=17, tm_hour=14
, tm_min=30, tm_sec=8, tm_wday=0, tm_yday=17, tm_isdst=0)
3.时间格式化
时间格式化就是将时间以更加合理的方式展示出来
time.strftime(tpl,ts)函数
-tpl是格式化模板字符串,用来定义输出效果
-ts是计算机内部时间类型变量
例如:
import time as t
s = t.gmtime()
time.strftime("%Y-%m-%d %H:%M:%S",s)
'2022-01-17 14:59:47'
注意:在进行格式化的时候
- %y 两位数的年份表示(00-99)
- %Y 四位数的年份表示(000-9999)
- %m 月份(01-12)
- %d 月内中的一天(0-31)
- %H 24小时制小时数(0-23)
- %I 12小时制小时数(01-12)
- %M 分钟数(00=59)
- %S 秒(00-59)
- %a 本地简化星期名称
- %A 本地完整星期名称
- %b 本地简化的月份名称
- %B 本地完整的月份名称
- %c 本地相应的日期表示和时间表示
- %j 年内的一天(001-366)
- %p 本地A.M.或P.M.的等价符
- %U 一年中的星期数(00-53)星期天为星期的开始
- %w 星期(0-6),星期天为星期的开始
- %W 一年中的星期数(00-53)星期一为星期的开始
- %x 本地相应的日期表示
- %X 本地相应的时间表示
- %Z 当前时区的名称
- %% %号本身
时间格式化中的ts参数,一般代之从gmtime()函数中获取的字符串
strptime()函数
该函数与strftime()函数互补,能够将一段字符串变成时间
strptime(str,tpl),其中,str是指字符串形式的时间值,而tpl是值格式化模板字符串,用来定义输入效果
例如:
import time
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)
4.程序计时
是指测量程序起止动作所经历的时间的过程
perf_counter()函数
负责测量时间,获取一个时间戳
其返回一个CPU级别的精确时间计数值,单位为秒,由于这个计数值的起始时间不确定,因此连续调用差值才有意义
例如:
import time
start = time.perf_counter()
34654.0583422
end = time.perf_counter()
34671.7431103
end - start
17.68476809999993
5.程序休眠
sleep(s)函数
该函数类似于C/C++中的windows.h头文件中的Sleep()函数
其中的s拟休眠时间,单位是秒,也可以是浮点数,该函数的作用就是让程序等待s秒,或者暂停运行s秒
6.实现单行动态刷新
刷新的本质:用打印后的字符覆盖之前的字符
不进行换行:print()需要被控制,当每次输出后,将光标位置重新定位在此行之初
即在每次输出的时候都添加 ' \r '字符