time庫是Python中處理時間的標準庫。計算機時間的表達,提供獲取系統時間並格式化輸出功能,提供系統級精確計時功能,用於程序性能分析。time庫包括三類函數
- 時間獲取:time() ctime() gmtime()
- 時間格式化:strftime(0 strptime()
- 程序計時:sleep(), perf_counter()
一、時間獲取
1、time() 獲取當前時間戳,即計算機內部時間值,自1970年到當前的時間戳數值,浮點數
import time
time.time()
#運行結果
#1583735961.222753
2、ctime() 獲取當前時間並以易讀方式標識,返回字符串
time.ctime()
#運行結果
#'Mon Mar 9 14:39:47 2020'
3、gmtime() 獲取當前時間,表示為計算機可處理的時間格式,表示的是應該格林威治時間,為更加清晰的表達當地時間,可以用localtime()表達當地時區的時間,localtime()與gmtime()差值為時區差
(1)time.gmtime()
#運行結果
#time.struct_time(tm_year=2020, tm_mon=3, tm_mday=9, tm_hour=6, tm_min=40, tm_sec=22, tm_wday=0, tm_yday=69, tm_isdst=0)
(2)time.localtime()
#運行結果
#time.struct_time(tm_year=2020, tm_mon=3, tm_mday=9, tm_hour=14, tm_min=44, tm_sec=32, tm_wday=0, tm_yday=69, tm_isdst=0)
在上面的輸出中,大家可以看到(1)中的 tm_hour=6、(2)中的tm_hour=14,差值為8,原因就是我們的localtime()取的是北京時間,也就是東八區的時間,與英國格林威治時間,也就是零時區的時間,相差8個小時。
二、時間格式化
1、時間格式化即將時間以合理的方式展示出來,類似於字符串格式化,需要有展示模板,展示模板由特定的格式化控制符組成
strftime(tpl,ts) tpl是格式化模板字符串,用來定義輸出結果;ts是計算機內部時間變量類型
t = time.gmtime()
time.strftime("%Y-%m-%d %H:%M:%S",t)
#運行結果
#'2020-03-09 06:41:35'
strptime(str, tpl) str是字符串形式的時間值,tpl是格式化模板字符串,用來定義輸入效果
timeStr = '2020-03-09 06:41:35'
time.strptime(timeStr, "%Y-%m-%d %H:%M:%S")
#運行結果
#time.struct_time(tm_year=2020, tm_mon=3, tm_mday=9, tm_hour=6, tm_min=41, tm_sec=35, tm_wday=0, tm_yday=69, tm_isdst=-1)
2、格式化控制符
格式化字符串 日期/時間說明 值範圍和實例
%Y 年份 0000-9999,例如:1990
%m 月份 01-12,例如:10
%B 月份名稱 January-December,例如:Apri
%b 月份名稱縮寫 Jan-Dec,例如:Apri
%d 日期 01-31,例如:25
%A 星期 Monday-Sunday,例如:Wednesday
%a 星期縮寫 Mon-Sun,例如:Wed
%H 小時(24制) 00-23,例如:12
%I(大寫i) 小時(12制) 01-12,例如:7
%p 上/下午 AM、PM,例如:PM
%M 分鐘 00-59,例如:26
%S 秒 00-59,例如:30
三、程序計時
程序計時指測試起止動作所經歷時間的過程
測量時間:perf_counter()
產生時間:sleep()
perf_counter() 返回一個CPU級別的精確時間計數值,單位為秒,由於這個計數值起點不確定,連續調用差值才有意義
<code>start = time.perf_counter()
end = time.perf_counter()
end - start/<code>
#運行結果
#5.6746000041130173e-05
sleep(s) s擬休眠的時間,單位是秒,可以是浮點數
<code>import time
def wait():
time.sleep(7.2)
wait()/<code>
#程序將等待7.2.秒後再退出
閱讀更多 棲客中國 的文章