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()>>> start3.9111116077602044e-06>>> end=time.perf_counter()>>> end10.212393474589648>>> end - start10.212389563478041
产生时间:sleep(s) s妙的休眠时间,可以是浮点数,如time.sleep(3.5)
如下有一个时间进度条的实例:
#TextProBarV3.pyimport timescale = 50print("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,"-"))