Python 標準庫time時間的訪問和轉(zhuǎn)換問題小結(jié)
模塊介紹
time 模塊是 Python 的標準庫之一,提供了多種與時間相關(guān)的函數(shù)。它允許用戶獲取當前的時間、進行時間間隔的操作以及處理與日期和時間相關(guān)的轉(zhuǎn)換。該模塊提供了許多功能,如計算時間差、暫停程序、格式化時間字符串等。
該模塊的函數(shù)大多數(shù)與系統(tǒng)的時鐘操作密切相關(guān),支持多種不同平臺和系統(tǒ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() | 返回當前時間的時間戳(1970紀元后經(jīng)過的秒數(shù))。 |
| sleep(seconds) | 暫停程序執(zhí)行指定的秒數(shù)。 |
| localtime([secs]) | 將秒數(shù)轉(zhuǎn)換為本地時間的結(jié)構(gòu)化時間。 |
| gmtime([secs]) | 將秒數(shù)轉(zhuǎn)換為格林尼治標準時間(UTC)的結(jié)構(gòu)化時間。 |
| strftime(format[, t]) | 根據(jù)給定的格式化字符串返回格式化的時間。 |
| strptime(string, format) | 根據(jù)給定的格式化字符串解析時間字符串。 |
| perf_counter() | 返回一個高精度的時間計數(shù)器,通常用于測量時間間隔。 |
| process_time() | 返回程序的 CPU 執(zhí)行時間,忽略休眠和等待時間。 |
- time()
返回當前的時間戳,即自 1970 年 1 月 1 日(Unix 紀元)以來經(jīng)過的秒數(shù)。它可以用于測量時間間隔、時間戳的獲取等。
import time
timestamp = time.time()
print("Current timestamp:", timestamp)- sleep()
讓程序暫停執(zhí)行指定的秒數(shù)。適用于需要延遲程序執(zhí)行的場景,例如在某些任務間隔時暫停。
import time
print("Start")
time.sleep(3) # 暫停 3 秒
print("End")- localtime()
將時間戳轉(zhuǎn)換為本地時間的 struct_time 對象。如果未傳入?yún)?shù),它默認返回當前時間的本地時間。
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)換為格林尼治標準時間(UTC)的 struct_time 對象。如果未傳入?yún)?shù),它默認返回當前時間的 UTC 時間。
import time utc_time = time.gmtime() print(utc_time) # 輸出當前的 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 密集型任務時。
import time
start = time.process_time()
# 執(zhí)行某些計算
end = time.process_time()
print(f"CPU time: {end - start} seconds")注意事項
- 時間戳與本地時間:time.time() 返回的是自 Unix 紀元以來的秒數(shù)(時間戳),而 localtime() 和 gmtime() 可以將其轉(zhuǎn)換為結(jié)構(gòu)化的本地時間或 UTC 時間。
- 夏令時(DST):在某些時區(qū)中,夏令時可能會影響時間計算,需要注意時區(qū)差異。
- 高精度計時器:perf_counter() 提供更高精度的時間計數(shù)器,適合用于性能分析。
- CPU時間與實際時間:process_time() 只計算 CPU 執(zhí)行時間,忽略了程序的等待和休眠時間。
總結(jié)
time 模塊為 Python 提供了處理時間和日期的多種功能,適用于多種與時間相關(guān)的場景,包括獲取當前時間、格式化時間、暫停程序執(zhí)行、計算程序運行時長等。通過這些功能,開發(fā)者可以更高效地處理時間任務、執(zhí)行性能測量以及進行程序調(diào)度。
到此這篇關(guān)于Python 標準庫time時間的訪問和轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)Python 標準庫time內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Python代碼實現(xiàn)PDF文檔與SVG文件之間的轉(zhuǎn)換
PDF作為普遍采用的文件格式,確保了文檔的一致性和可靠性,而SVG(可縮放矢量圖形)則因其矢量性質(zhì),在網(wǎng)頁設(shè)計、高分辨率打印及動態(tài)交互內(nèi)容中展現(xiàn)出無與倫比的優(yōu)勢,本文將介紹如何使用Python將PDF文件轉(zhuǎn)換為SVG文件以及將SVG文件轉(zhuǎn)換為PDF文件,需要的朋友可以參考下2024-05-05
Django ORM判斷查詢結(jié)果是否為空,判斷django中的orm為空實例
這篇文章主要介紹了Django ORM判斷查詢結(jié)果是否為空,判斷django中的orm為空實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07
python 讀取文本文件的行數(shù)據(jù),文件.splitlines()的方法
今天小編就為大家分享一篇python 讀取文本文件的行數(shù)據(jù),文件.splitlines()的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07
Python代碼輕松實現(xiàn)Excel兩列數(shù)據(jù)對比
這篇文章主要為大家詳細介紹了如何使用Python的pandas庫實現(xiàn)Excel兩列數(shù)據(jù)的自動化對比,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2026-03-03

