09.2 python基礎--time庫
阿新 • • 發佈:2018-12-18
09.2.1 常用函式
- time()----獲取當前時間戳,即計算機內部時間值,浮點數
- ctime()----獲取當前時間並以易讀方式表示,返回字串
- gmtime()----獲取當前時間,表示為計算機可處理的時間格式
import time as t print(t.time()) print(t.ctime()) print(t.gmtime()) >>1522765487.9220555 >>Tue Apr 3 22:24:47 2018 >>time.struct_time(tm_year=2018, tm_mon=4, tm_mday=3, tm_hour=14, tm_min=24, tm_sec=47, tm_wday=1, tm_yday=93, tm_isdst=0)
09.2.2 時間格式化
- strftime(tpl, ts)-----tpl是格式化模板字串,用來定義輸出效果,ts是計算機內部時間型別變數
import time as ti
t = ti.gmtime()
print(ti.strftime("%Y-%m-%d %H:%M:%S",t))
>>2018-04-03 15:15:09
- strptime(str, tpl)-----str是字串形式的時間值,tpl是格式化模板字串,用來定義輸入效果
timeStr = '2018-01-26 12:55:20' print(ti.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=20, tm_wday=4, tm_yday=26, tm_isdst=-1)
09.2.3 程式計時
- 測量時間:perf_counter()--------返回一個CPU級別的精確時間計數值,單位為秒
import time
start = time.perf_counter()
end = time.perf_counter()
t = end - start
print(t)
- 產生時間:sleep()-------s擬休眠的時間,單位是秒,可以是浮點數
09.2.4 文字進度條
import time scale = 10 print("------執行開始------") for i in range(scale+1): a = '*'*i b = '.'*(scale-i) c = (i/scale)*100 print('[{}->{}]'.format(a,b)) print("{:^3.0f}%[{}->{}]".format(c,a,b)) #取3位,保留0位小數,居中對齊 time.sleep(0.1) print("------執行結束------") ##結果 ------執行開始------ 0 %[->..........] 10 %[*->.........] 20 %[**->........] 30 %[***->.......] 40 %[****->......] 50 %[*****->.....] 60 %[******->....] 70 %[*******->...] 80 %[********->..] 90 %[*********->.] 100%[**********->] ------執行結束------ ##單行重新整理文字進度條 import time as t s =50 print('執行開始'.center(s//2,'-')) start = t.perf_counter() for i in range(s+1): a = '*'*i b = '.'*(s-i) c = i/s*100 dur =t.perf_counter() - start print('\r{:^3.0f}%[{}->{}]{:.2f}s'.format(c,a,b,dur),end = '') t.sleep(0.3) print('\n'+'執行結束'.center(s//2,'-'))
09.2.5 時區與夏令時
import time as t
n = t.timezone ## 獲取當前時區和UTC時間相差的秒數,在沒有夏令時的情況下的間隔,東八區的是 -28800
m = t.altzone ## 獲取當前時區與UTC時間相差的秒數,在有夏令時的情況下
y = t.daylight ## 測當前是否是夏令時時間狀態, 0 表示是
print(n,m,y)
>-28800 -32400 0