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 '字符