1、time庫是python中處理時間的標準庫
-計算機時間的表達
-提供獲取系統時間並格式化輸出功能
-提供系統級精確計時功能,用於程式效能分析
import time
time.()
2、time庫包括三類函式時間獲取:time() ctime() gmtime()
時間格式化:strftime() strptime()
程式計時:sleep(),perf_counter()
函式描述
time()
獲取當前時間戳,即計算機內部時間值,浮點數
>>>time.time()
1550067334.9398868
ctime()
獲取當前時間並以易讀方式表示,返回字串
>>>time.ctime()
'wed feb 13 22:16:32 2019'
gmtime()
獲取當前時間,表示為計算機可處理的時間格式
>>>time.gmtime()
time.struct_time(tm_year=2019, tm_mon=2, tm_mday=13, tm_hour=14, tm_min=17, tm_sec=13, tm_wday=2, tm_yday=44, tm_isdst=0)
3、時間格式化
將時間以合理的方式展示出來
-格式化:類似字串格式化,需要有展示模板
-展示模板由特定的格式化控制符組成
-strftime()方法
函式描述
strftime(tpl,ts)
tpl是格式化模板字串,用來定義輸出效果
ts是計算機內部時間型別變數
>>>t = time.gmtime()
>>>time.strftime("%y-%m-%d %h:%m:%s",t)
'2019-02-13 14:18:09'
strptime(str,tpl)
str是字串形式的時間值
tpl是格式化模板字串,用來定義輸入效果
>>> timestr='2019-02-13 22:21:45'
>>> time.strptime(timestr,"%y-%m-%d %h:%m:%s")
time.struct_time(tm_year=2019, tm_mon=2, tm_mday=13, tm_hour=22, tm_min=21, tm_sec=45, tm_wday=2, tm_yday=44, tm_isdst=-1)
格式化字串
日期/時間說明
值範圍和例項
%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
%h小時(12h制)
01~12,例如:7
%p上/下午
am,pm,例如:pm
%m分鐘
00~59,例如:26%s秒
00~59,例如:26
4、程式計時
程式計時應用廣泛
-程式計時指測量起止動作所經歷時間的過程
函式描述
perf_counter()
返回乙個cpu級別的精確時間計數值,單位為秒
由於這個計數值起點不確定,連續呼叫差值才有意義
>>> start = time.perf_counter()
>>> start
69.377556
>>> end =time.perf_counter()
>>> end
140.5912835
>>> end - start
71.2137275
sleep(s)
s擬休眠的時間,單位是秒,可以是浮點數
>>> def wait():
time.sleep(3.3)
>>> wait() #程式將等待3.3秒後再退出
5、例項:文字進度條
(1)-採用字串方式列印可以動態變化的文字進度條
-進度條需要能在一行中逐漸變化
#textprobarv1.py
import time
scale = 10
print("----執行開始-----")
for i in range(scale+1):
a = '*' * i
b ='.'*(scale - i)
c =(i/scale)*100
print("%[{}->{}]".format(c,a,b))
time.sleep(0.1)
print("----執行結束-----")
執行結果:
----執行開始-----
0 %[->..........]
----執行結束-----
10 %[*->.........]
----執行結束-----
20 %[**->........]
----執行結束-----
30 %[***->.......]
----執行結束-----
40 %[****->......]
----執行結束-----
50 %[*****->.....]
----執行結束-----
60 %[******->....]
----執行結束-----
70 %[*******->...]
----執行結束-----
80 %[********->..]
----執行結束-----
90 %[*********->.]
----執行結束-----
100%[**********->]
----執行結束-----
(2)單行動態重新整理 重新整理的關鍵是\r
-重新整理的本質是:用後列印的字元覆蓋之前的字元
-不能換行:print()需要被控制
-要能回退:列印後游標退回到之前的位置 \r
import time
for i in range(101):
print("\r%".format(i),end="")
time.sleep(0.1)
執行結果:
0% 1% 2% 3% 4% 5% 6% 7% 8% 9% 10% 11% 12% 13% 14% 15% 16% 17% 18% 19% 20% 21% 22% 23% 24% 25% 26% 27% 28% 29% 30% 31% 32% 33% 34% 35% 36% 37% 38% 39% 40% 41% 42% 43% 44% 45% 46% 47% 48% 49% 50% 51% 52% 53% 54% 55% 56% 57% 58% 59% 60% 61% 62% 63% 64% 65% 66% 67% 68% 69% 70% 71% 72% 73% 74% 75% 76% 77% 78% 79% 80% 81% 82% 83% 84% 85% 86% 87% 88% 89% 90% 91% 92% 93% 94% 95% 96% 97% 98% 99% 100%
(3)完整效果
#textprobarv1.py
import time
scale =50
print("執行開始".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%[{}->{}]s".format(c,a,b,dur),end="")
time.sleep(0.1)
print("\n"+"執行結束".center(scale//2,'-'))
執行:(win+r cd進入某一資料夾 磁碟名:直接切換磁碟)
分析:-文字進度條程式使用了perf_counter()計時
-計時方法適合各類需要統計時間的計算問題
-例如:比較不同演算法時間、統計部分程式執行時間
python裡time庫的使用
time庫是python中處理時間的標準庫 import time 函式 time 獲取當前時間戳,即計算機內部時間值,浮點數 ctime 獲取當前時間,並以人類易讀方式返回字串 gmtime 獲取當前時間,為計算機可處理的形式 時間格式化 格式化 類似字串格式化,需要展示模板 strftime t...
python中time庫的使用
將time庫里的函式分成三類 a.時間獲取 time 以1970年1月1日00 00為起始開始計時所計算的時間。ctime 返回有一定格式的時間 gmtime 返回類似於時間結構體的物件,可以用來作為相關時間函式的引數使用。b 時間格式化轉換 strftime 將gmtime返回物件按照相應設定的格...
time庫的使用
使用方法 import time time.呼叫相關函式 時間獲取 1.time 獲取當前的時間戳。time.time 結果為 1553570437.6273973。該結果是 從1月1號開始到當前為止一共走了多少秒 2.ctime 獲取當前時間並以易讀的方式表示,返回字串。time.ctime 結果...