Python 標(biāo)準(zhǔn)庫time時間的訪問和轉(zhuǎn)換問題小結(jié)
模塊介紹
time 模塊是 Python 的標(biāo)準(zhǔn)庫之一,提供了多種與時間相關(guān)的函數(shù)。它允許用戶獲取當(dāng)前的時間、進(jìn)行時間間隔的操作以及處理與日期和時間相關(guān)的轉(zhuǎn)換。該模塊提供了許多功能,如計算時間差、暫停程序、格式化時間字符串等。
該模塊的函數(shù)大多數(shù)與系統(tǒng)的時鐘操作密切相關(guān),支持多種不同平臺和系統(tǒng)的時間格式。
使用場景
- 獲取當(dāng)前時間: 獲取當(dāng)前時間戳、格式化時間、日期等。
- 時間轉(zhuǎn)換: 將時間戳轉(zhuǎn)換為人類可讀的時間格式,或?qū)⒏袷交瘯r間轉(zhuǎn)為時間戳。
- 延時和控制: 暫停程序執(zhí)行一段時間,適用于控制程序執(zhí)行的速度。
- 性能測量: 測量程序的執(zhí)行時間。
- 設(shè)置時間區(qū)域: 設(shè)置和獲取本地時間的時區(qū)。
主要類
類 | 描述 |
---|---|
struct_time | 返回由 localtime() 或 gmtime() 函數(shù)提供的結(jié)構(gòu)化時間對象,包含了年份、月份、日期、小時、分鐘、秒等信息。 |
主要函數(shù)
函數(shù) | 描述 |
---|---|
time() | 返回當(dāng)前時間的時間戳(1970紀(jì)元后經(jīng)過的秒數(shù))。 |
sleep(seconds) | 暫停程序執(zhí)行指定的秒數(shù)。 |
localtime([secs]) | 將秒數(shù)轉(zhuǎn)換為本地時間的結(jié)構(gòu)化時間。 |
gmtime([secs]) | 將秒數(shù)轉(zhuǎn)換為格林尼治標(biāo)準(zhǔn)時間(UTC)的結(jié)構(gòu)化時間。 |
strftime(format[, t]) | 根據(jù)給定的格式化字符串返回格式化的時間。 |
strptime(string, format) | 根據(jù)給定的格式化字符串解析時間字符串。 |
perf_counter() | 返回一個高精度的時間計數(shù)器,通常用于測量時間間隔。 |
process_time() | 返回程序的 CPU 執(zhí)行時間,忽略休眠和等待時間。 |
- time()
返回當(dāng)前的時間戳,即自 1970 年 1 月 1 日(Unix 紀(jì)元)以來經(jīng)過的秒數(shù)。它可以用于測量時間間隔、時間戳的獲取等。
import time timestamp = time.time() print("Current timestamp:", timestamp)
- sleep()
讓程序暫停執(zhí)行指定的秒數(shù)。適用于需要延遲程序執(zhí)行的場景,例如在某些任務(wù)間隔時暫停。
import time print("Start") time.sleep(3) # 暫停 3 秒 print("End")
- localtime()
將時間戳轉(zhuǎn)換為本地時間的 struct_time
對象。如果未傳入?yún)?shù),它默認(rèn)返回當(dāng)前時間的本地時間。
import time time_obj = time.localtime() print(time_obj.tm_year) # 獲取年份 print(time_obj.tm_mon) # 獲取月份 print(time_obj.tm_mday) # 獲取日 print(time_obj.tm_hour) # 獲取小時 print(time_obj.tm_min) # 獲取分鐘 print(time_obj.tm_sec) # 獲取秒
- gmtime()
將時間戳轉(zhuǎn)換為格林尼治標(biāo)準(zhǔn)時間(UTC)的 struct_time
對象。如果未傳入?yún)?shù),它默認(rèn)返回當(dāng)前時間的 UTC 時間。
import time utc_time = time.gmtime() print(utc_time) # 輸出當(dāng)前的 UTC 時間結(jié)構(gòu)
- strftime()
根據(jù)給定的格式化字符串返回格式化的時間。常用于將 struct_time
對象轉(zhuǎn)換為易讀的時間格式。
import time formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) print("Formatted time:", formatted_time)
- strptime()
根據(jù)給定的格式化字符串解析時間字符串,并返回 struct_time
對象。適用于時間字符串的解析。
import time time_str = "2025-01-14 15:30:00" parsed_time = time.strptime(time_str, "%Y-%m-%d %H:%M:%S") print("Parsed time:", parsed_time)
- perf_counter()
返回一個高精度的計數(shù)器,通常用于測量時間間隔。適用于程序性能分析和時間測量。
import time start = time.perf_counter() # 執(zhí)行某些操作 end = time.perf_counter() print(f"Elapsed time: {end - start} seconds")
- process_time()
返回程序的 CPU 執(zhí)行時間,不包括系統(tǒng)休眠時間。適用于計算程序的執(zhí)行時間,尤其是涉及 CPU 密集型任務(wù)時。
import time start = time.process_time() # 執(zhí)行某些計算 end = time.process_time() print(f"CPU time: {end - start} seconds")
注意事項
- 時間戳與本地時間:time.time() 返回的是自 Unix 紀(jì)元以來的秒數(shù)(時間戳),而 localtime() 和 gmtime() 可以將其轉(zhuǎn)換為結(jié)構(gòu)化的本地時間或 UTC 時間。
- 夏令時(DST):在某些時區(qū)中,夏令時可能會影響時間計算,需要注意時區(qū)差異。
- 高精度計時器:perf_counter() 提供更高精度的時間計數(shù)器,適合用于性能分析。
- CPU時間與實(shí)際時間:process_time() 只計算 CPU 執(zhí)行時間,忽略了程序的等待和休眠時間。
總結(jié)
time 模塊為 Python 提供了處理時間和日期的多種功能,適用于多種與時間相關(guān)的場景,包括獲取當(dāng)前時間、格式化時間、暫停程序執(zhí)行、計算程序運(yùn)行時長等。通過這些功能,開發(fā)者可以更高效地處理時間任務(wù)、執(zhí)行性能測量以及進(jìn)行程序調(diào)度。
到此這篇關(guān)于Python 標(biāo)準(zhǔn)庫time時間的訪問和轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)Python 標(biāo)準(zhǔn)庫time內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談Matplotlib簡介和pyplot的簡單使用——文本標(biāo)注和箭頭
這篇文章主要介紹了淺談Matplotlib簡介和pyplot的簡單使用——文本標(biāo)注和箭頭,具有一定借鑒價值,需要的朋友可以參考下2018-01-01python3.6.3+opencv3.3.0實(shí)現(xiàn)動態(tài)人臉捕獲
這篇文章主要為大家詳細(xì)介紹了python3.6.3+opencv3.3.0實(shí)現(xiàn)動態(tài)人臉捕獲,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05python中的多線程鎖lock=threading.Lock()使用方式
這篇文章主要介紹了python中的多線程鎖lock=threading.Lock()使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06