python學習筆記(5)-time庫的使用


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,"-"))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM