_______egon新书来袭请看:https://egonlin.com/book.html
一、概述
- time库基本介绍
- 时间获取
- 时间格式化
- 程序计时应用
二、time库基本介绍
time库是Python中处理时间的标准库
- 计算机时间的表达
- 提供获取系统时间并格式化输出功能
- 提供系统级精确计时功能,用于程序性能分析
2.1 time库概述
time库包括三类函数
- 时间获取:
time(),ctime(),gmtime()
- 时间格式化:
strftime(),strptime()
- 程序计时:
sleep(),perf_counter()
三、时间获取
函数 |
描述 |
time() |
获取当前时间戳,即计算机内部时间值,浮点数 |
ctime() |
获取当前时间并以易读方式表示,返回字符串 |
gmtime() |
获取当前时间,表示为计算机可处理的时间格式 |
import time
time.time()
1571026828.488849
time.ctime()
'Mon Oct 14 12:20:58 2019'
time.gmtime()
time.struct_time(tm_year=2019, tm_mon=10, tm_mday=14, tm_hour=4, tm_min=21, tm_sec=9, tm_wday=0, tm_yday=287, tm_isdst=0)
四、时间格式化
将时间以合理的方式展示出来
- 格式化:类似字符串格式化,需要有展示模板
- 展示模板由特定的格式化控制符组成
- strftime()方法
函数 |
描述 |
strftime(tpl, ts) |
tpl是格式化模板字符串,用来定义输出效果;ts是计算机内部时间类型变量 |
t = time.gmtime()
time.strftime("%Y-%m-%d %H:%M:%S",t)
'2019-10-14 04:21:44'
4.1 格式化控制符
格式化字符串 |
日期/时间说明 |
值范围和实例 |
%Y |
年份 |
0000~9999,例如:1900 |
%m |
月份 |
01~12,例如:10 |
%B |
月份名称 |
January~December,例如:April |
%b |
月份名称缩写 |
Jan~Dec,例如:Apr |
%d |
日期 |
01~31,例如:25 |
%A |
星期 |
Monday~Sunday,例如:Wednesday |
%a |
星期缩写 |
Mon~Sun,例如:Wed |
%H |
小时(24h制) |
00~23,例如:12 |
%h |
小时(12h制) |
01~12,例如:7 |
%p |
上/下午 |
AM, PM,例如:PM |
%M |
分钟 |
00~59,例如:26 |
%S |
秒 |
00~59,例如:26 |
4.2 时间格式化-代码
import time
t = time.gmtime()
t
函数 |
描述 |
strptime(str, tpl) |
str是字符串形式的时间值;tpl是格式化模板字符串,用来定义输入效果。 |
timeStr = '2018-01-26 12:55:20'
time.strptime(timeStr, "%Y-%m-%d %H:%M:%S")
五、程序计时应用
5.1 程序计时
程序计时应用广泛
- 程序计时指测量起止动作所经历时间的过程
- 测量时间:
perf_counter()
- 产生时间:
sleep()
函数 |
描述 |
perf_counter() |
返回一个CPU级别的精确时间计数值,单位为秒;由于这个计数值起点不确定,连续调用差值才有意义 |
start = time.perf_counter()
start
3913.931866374
end = time.perf_counter()
end
3916.573579334
end-start
2.64171295999995
函数 |
描述 |
sleep(s) |
s拟休眠的时间,单位是秒,可以是浮点数 |
import time
def wait():
time.sleep(3.3)
wait() # #程序将等待3.3秒后再退出
六、单元小结
- 时间获取:
time(),ctime(),gmtime()
- 时间格式化:
strftime(),strptime()
- 程序计时:
perf_counter(),sleep()