Python基础(三)


time库的使用

time库基本介绍

time库是python中处理时间的标准库

  • 计算机时间的表达
  • 提供获取系统时间并格式化输出功能
  • 提供系统级精确计时功能,用于程序性能分析

time库包含三类函数

  • 时间获取:time()、ctime()、gmtime()
  • 时间格式化:strftime()、strptime()
  • 程序计时:sleep()、perf_counter()

时间获取

函数 描述
time() 获取当前时间戳,即计算机内部时间值,浮点数
>>>time.time()
1581250590.4828136
ctime() 获取当前时间并以易读方式表示,返回字符串
>>>time.ctime()
“Sun Feb 9 20:17:35 2020”
gmtime() 获取当前时间,表示为计算机可处理的时间格式
>>>time.gmtime()
time.struct_time(tm_year=2020, tm_mon=2,
tm_mday=9, tm_hour=12, tm_min=18, tm_sec=27,
tm_wday=6, tm_yday=40, tm_isdst=0)

时间格式化

将时间以合理的方式展示出来

  • 格式化:类似字符串格式化,需要有展示模板
  • 展示模板由特定的格式化控制符组成
  • strftime()方法
函数 描述
strftime(tpl,ts) tpl是格式化模板字符串,用来定义输出效果
ts是计算机内部时间类型变量
>>>t = time.gmtime()
>>>time.strftime(“%Y-%m-%d %H:%M:%S”,t)
“2020-02-09 12:22:49”
strptime(str,tpl) str是字符串形式的时间值
tpl是格式化模板字符串,用来定义输入效果
>>>timestr = “2020-02-09 12:22:49”
>>>time.strptime(timestr,”%Y-%m-%d %H:%M:%S”)
time.struct_time(tm_year=2020, tm_mon=2,
tm_mday=9, tm_hour=12, tm_min=22, tm_sec=49,
tm_wday=6, tm_yday=40, tm_isdst=-1)
格式化字符串 日期/时间说明 值范围
%Y 年份 0000~9999
%m 月份 01~12
%B 月份名称 January~December
%b 月份名称缩写 Jan~Dec
%d 日期 01~31
%A 星期 Monday~Sunday
%a 星期缩写 Mon~Sun
%H 小时(24h制) 00~23
%I 小时(12h制) 01~12
%p 上/下午 AM、PM
%M 分钟 00~59
%S 00~59

程序计时应用

  • 程序计时指测量起止动作所经历时间的过程
  • 测量时间:perf_counter()
  • 产生时间:sleep()
函数 描述
per_counter() 返回一个CPU级别的精准时间计数值,单位为秒
由于这个计数值七点不确定,连续调用差值才有意义
>>>start = time.perf_counter()
42.6483905
>>>end = time.perf_counter()
62.1302614
>>>end - start
19.481870900000004
sleep(s) s拟休眠的时间,单位是秒,可以是浮点数
>>>def wait():
time.sleep(5)
>>>wait() #程序将等待5秒后再退出

实例:文本进度条设计

import time
scale = int(input())
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}".format(c,a,b,dur),end="")
    time.sleep(0.1)
print("\n"+"执行结束".center(scale//2,"-"))

参考资料

https://www.icourse163.org/learn/BIT-268001?tid=1207014257#/learn/content?type=detail&id=1212094131&cid=1215248185


文章作者: Amonologue
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Amonologue !
  目录