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=2018, tm_mon=4, tm_mday=21, tm_hour=8, tm_min=4, tm_sec=6, tm_wday=5, tm_yday=111, tm_isdst=0)
二, 时间格式化
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 小时 24
%h 小时 12
%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=2018, tm_mon=1, tm_mday=26, tm_hour=12, tm_min=55, tm_sec=33, tm_wday=4, tm_yday=26, tm_isdst=-1)
三, 程序计时
测量时间: 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 = 50
- print("start".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}s".format(c,a,b,dur), end="")'''这里 \ r, 光标回到行首, end=""表示不输出空格, 字符串连续输出'''
- time.sleep(0.1)
- print("\n"+"end".center(scale//2,"-"))
来源: http://www.bubuko.com/infodetail-2570194.html