time库是Python提供的处理时间标准库。time库的功能主要分为3个方面:时间处理、时间格式化和计时。
1.时间处理函数
(1)、time.time()
获取当前时间戳
>>> import time
>>> time.time()
1545631264.3047698
(2)、time.gmtime()
获取当前时间戳对应的struct_time对象
>>> time.gmtime()
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=24, tm_hour=6, tm_min=2, tm_sec=40, tm_wday=0, tm_yday=358, tm_isdst=0)
(3)、time.localtime()
获取当前时间戳对应的本地时间的struct_time对象
>>> time.localtime()
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=24, tm_hour=14, tm_min=9, tm_sec=36, tm_wday=0, tm_yday=358, tm_isdst=0)
(4)、time.ctime()
获取当前时间戳对应的易读字符串表示,内部会调用localtime()函数以输出当地时间。
>>> time.ctime()
'Mon Dec 24 14:32:45 2018'
2.时间格式化函数
(1)、time.mktime(t)
将struct_time对象t转换为时间戳,t代表当地时间
>>> t = time.localtime()
>>> time.mktime(t)
1545638822.0
(2)、time.strftime()
是时间格式化最有效的方法,几乎可以以任何通用格式输出时间
>>> lctime = time.localtime()
>>> time.strftime("%Y-%m-%d %H:%M:%S",lctime)
'2018-12-24 16:09:12'
(3)、time.strptime()
该方法与strftime方法相反,用于提取字符串中的时间来生成struct_time对象,可以灵活地作为time模块的输入接口。
>>> timestr = '2018年12月24日 16时17分12秒'
>>> time.strptime(timestr,"%Y年%m月%d日 %H时%M分%S秒")
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=24, tm_hour=16, tm_min=17, tm_sec=12, tm_wday=0, tm_yday=358, tm_isdst=-1)
struct_time对象元素的构成
下标 |
属性 |
值 |
0 |
tm_year |
年份 |
1 |
tm_mon |
月份 |
2 |
tm_mday |
日期 |
3 |
tm_hour |
小时 |
4 |
tm_min |
分钟 |
5 |
tm_sec |
秒 |
6 |
tm_wday |
星期 |
7 |
tm_yday |
该年第几天 |
8 |
tm_isdst |
是否夏令时,0否,1是,-1未知 |
3.计时函数
(1)、time.sleep(secs)
推迟调用线程的运行,secs的单位是秒
>>> start_time = time.time()
>>> time.sleep(5)
>>> end_time = time.time()
>>> start_time-end_time
-31.556804895401
(2)、time.monotonic()
开机后单调递增
(3)、time.perf_counter()
返回计时器的精准时间(系统的运行时间),包含整个系统的睡眠时间
>>> start = time.perf_counter()
>>> time.sleep(0.2)
>>> end = time.perf_counter()
>>> other = start - end
>>> other
-43.97558423797125