python学习笔记(5)-time库的使用

时间:2023-12-03 19:33:02

import time

一、时间获取函数

time(), ctime(),gmtime()

>>> import time
>>> time.time()
1524297783.3058376
>>> time.ctime()
'Sat Apr 21 16:03:09 2018'
>>> time.gmtime()
time.struct_time(tm_year=, tm_mon=, tm_mday=, tm_hour=, tm_min=, tm_sec=, tm_wday=, tm_yday=, tm_isdst=)

二、时间格式化

strftime(tpl, ts)  tpl是时间格式化模板字符串,用来定义输出效果,ts是计算机内部时间类型变量。

>>> t=time.gmtime()
>>> time.strftime("%Y-%m-%d %H:%M:%S", t)
'2018-04-21 08:05:49'
%Y   年份
%m 月份
%B 月份名称 January
%b 月份名称缩写 Jan
%d 日期
%A 星期 Monday
%a 星期缩写 Mon
%H 小时
%h 小时
%p 上下午
%M 分钟
%S 秒

举例如下:

>>> time.strftime("%Y-%B-%d-%A-%H-%p-%S")
'2018-April-21-Saturday-16-PM-10'
>>> time.strftime("%A-%p")
'Saturday-PM'
>>> time.strftime("%M:%S")
'15:39'
>>> time.strftime("%M:%S")
'15:45'
>>> time.strftime("%M:%S",t)
'05:49'

如果strftime没有第二个参数,则默认获取当前时间。

strptime(timestr, "%Y-%m-%d %H:%M:%S")  根据时间字符串以及格式化输出,转换成结构体。

>>> timestr
'2018-01-26 12:55:33'
>>> time.strptime(timestr,"%Y-%m-%d %H:%M:%S")
time.struct_time(tm_year=, tm_mon=, tm_mday=, tm_hour=, tm_min=, tm_sec=, tm_wday=, tm_yday=, tm_isdst=-)

三、程序计时

测量时间:perf_counter()  返回一个CPU级别的精确时间计数值,单位为妙,由于这个计数值起点不确定,连续调用使用差值才有意义。

>>> start=time.perf_counter()
>>> start
3.9111116077602044e-06
>>> end=time.perf_counter()
>>> end
10.212393474589648
>>> end - start
10.212389563478041

产生时间:sleep(s) s妙的休眠时间,可以是浮点数,如time.sleep(3.5)

如下有一个时间进度条的实例:

#TextProBarV3.py
import time
scale =
print("start".center(scale//2, "-"))
start = time.perf_counter()
for i in range(scale + ):
a = "*" * i
b = "." * (scale - i)
c = (i/scale)*
dur = time.perf_counter()-start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur), end="") '''这里\r,光标回到行首, end=“”表示不输出空格,字符串连续输出'''
time.sleep(0.1)
print("\n"+"end".center(scale//2,"-"))