不得不知的time庫內容,助你在Python中把握時間應用


不得不知的time庫內容,助你在Python中把握時間應用

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.秒後再退出


不得不知的time庫內容,助你在Python中把握時間應用


分享到:


相關文章: