python(7)---time库

  在编写程序时,我们会经常用到时间,有时候是计时,有时候是用来格式化输出时间

像年,月,日,时,分,秒等等。python里面提供了时间库,非常方便我们进行时间相关的操作

一、time库包括三类函数:

  时间获取:time(),ctime(),gmtime()

  时间格式化:strftime(),strptime()

  程序计时:sleep(),perf_counter()

  time():获取当前时间戳,即计算机内部时间值,浮点数

  >>>time.time()

  1516939876.6022282

  ctime():获取当前时间并以易读方式表示,返回字符串
  >>>time.ctime()  
  'Fri Jan 26 12:11:16 2018'
  gemtime(): 获取当前时间,表示为计算机可处理的时间格式
  >>>time.gmtime()
  time.struct_time(tm_year=2018, tm_mon=1,
  tm_mday=26, tm_hour=4, tm_min=11, tm_sec=16,
  tm_wday=4, tm_yday=26, tm_isdst=0)
二、时间格式化:
  1.格式化:类似字符串格式化,需要有展示模板
  2.展示模板由特定的格式化控制符组成  
  strftime()方法:
  strftime(tpl, ts):tpl是格式化模板字符串,用来定义输出效果;ts是计算机内部时间类型变量
  >>>t = time.gmtime()
  >>>time.strftime("%Y-%m-%d %H:%M:%S",t)
  '2018-01-26 12:55:20'
三、格式化控制符:
  %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
  %I:小时(12h制)01~12,例如:7
  %p:上/下午AM, PM,例如:PM
  %M:分钟00~59,例如:26
  %S:秒00~59,例如:26
四、时间格式化:  
  >>>t = time.gmtime()
  >>>time.strftime("%Y-%m-%d %H:%M:%S",t)
  '2018-01-26 12:55:20'
  >>>timeStr = '2018-01-26 12:55:20'
  >>>time.strptime(timeStr, “%Y-%m-%d %H:%M:%S”)
五、程序计时
  1.程序计时指测量起止动作所经历时间的过程
  2.测量时间:perf_counter()
  3.产生时间:sleep()
  perf_counter():返回一个CPU级别的精确时间计数值,单位为秒由于这个计数值起点不确定,连续调用差值才有意义
  >>>start = time.perf_counter()
  318.66599499718114
  >>>end = time.perf_counter()
  341.3905185375658
  >>>end - start
  22.724523540384666
  sleep(s):s拟休眠的时间,单位是秒,可以是浮点数
  >>>def wait():
    time.sleep(3.3)
  >>>wait()#程序将等待3.3秒后再退出
六、例子程序
 1 #!/usr/bin/env python3
 2 # -*- coding: utf-8 -*-
 3 #TextportBarv1.py
 4 
 5 '''import time
 6 scale=10
 7 print("------执行开始------")
 8 for i in range(scale+1):
 9     a='*'*i
10     b='.'*(scale-i)
11     c=(i/scale)*100
12     print("{:^3.0f}%[{}->{}]".format(c,a,b))
13     time.sleep(0.1)
14 print("------执行结束------")'''
15 
16 
17 #TextportBarv3.py
18 import time
19 
20 
21 scale=50
22 print("执行开始".center(scale//2,"-"))
23 start=time.perf_counter()
24 for i in range(scale+1):
25     a='*'*i
26     b='.'*(scale-i)
27     c=(i/scale)*100
28     dur=time.perf_counter()-start
29     print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
30     time.sleep(0.1)
31 print("\n"+"执行结束".center(scale//2,"-"))
TextBar

 

 
posted @ 2020-03-14 08:40  flyingswallow  阅读(142)  评论(0编辑  收藏  举报