時間,是我們生命中最珍貴的資源之一,也是計算機程序中最常用的資源之一。在 Python 中,我們通過 time 模塊來處理時間相關數據,它提供了許多實用的函數和用法。本文將會全面介紹 time 模塊中常用的函數和用法。
一、time函數的基本使用
time 模塊中最常用的函數就是 time() 函數,它會返回當前時間的 Unix 時間戳(從 1970 年 1 月 1 日 00:00:00 UTC 開始計時的秒數),代碼如下:
import time now = time.time() print(now)
輸出結果類似這樣:
1619362884.663994
我們也可以使用 localtime() 函數將 Unix 時間戳轉換為本地時間,代碼如下:
import time now = time.time() local_time = time.localtime(now) print(local_time)
輸出結果類似這樣:
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=25, tm_hour=22, tm_min=42, tm_sec=57, tm_wday=6, tm_yday=115, tm_isdst=0)
該函數返回一個 struct_time 對象,它表示當前本地時間的各個欄位(年、月、日、時、分、秒等)。
二、時間格式化
在 Python 中,我們可以使用 time 模塊的 strftime() 函數將 struct_time 對象格式化成指定的字元串,代碼如下:
import time now = time.time() local_time = time.localtime(now) format_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time) print(format_time)
輸出結果類似這樣:
2021-04-25 22:42:57
在這裡,我們使用了 %Y、%m、%d、%H、%M、%S 等佔位符來指定輸出的格式,具體含義如下:
- %Y:年(4 位數)
- %m:月(01-12)
- %d:日(01-31)
- %H:小時(00-23)
- %M:分鐘(00-59)
- %S:秒(00-59)
除了格式化時間,我們也可以使用 strptime() 函數將字元串轉換為 struct_time 對象,代碼如下:
import time format_time = "2021-04-25 22:42:57" local_time = time.strptime(format_time, "%Y-%m-%d %H:%M:%S") print(local_time)
輸出結果類似這樣:
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=25, tm_hour=22, tm_min=42, tm_sec=57, tm_wday=6, tm_yday=115, tm_isdst=-1)
其中 %Y、%m、%d、%H、%M、%S 等佔位符的含義同上,只是在這裡我們使用它們來指定解析字元串的格式。
三、計時器相關函數
在 Python 中,我們也可以使用 time 模塊的相關函數來實現計時器功能。其中最常用的是 sleep() 函數,它會讓當前線程休眠指定的秒數,代碼如下:
import time print("開始等待") time.sleep(5) print("等待結束")
輸出結果類似這樣:
開始等待 等待結束
除了 sleep() 函數,time 模塊中還有 clock() 函數、perf_counter() 函數和 process_time() 函數等常用的計時器函數。
四、定時器相關函數
除了計時器函數,time 模塊中還提供了一系列定時器函數,這些函數可以根據指定的時間間隔或日期執行一些操作。下面是常用的定時器函數:
- time.sleep(secs):讓當前線程休眠指定的秒數
- time.perf_counter():返回高精度的計時器值
- time.process_time():返回當前進程 CPU 的累計執行時間
- time.monotonic():返回單調時鐘的時間(只遞增,不會受 NTP 等系統時間同步的影響)
- time.time():返回當前時間的 Unix 時間戳
- time.localtime([seconds]):將 Unix 時間戳轉換為本地時間(struct_time 對象)
- time.gmtime([seconds]):將 Unix 時間戳轉換為 UTC 時間(struct_time 對象)
- time.strftime(format[, t]):將 struct_time 對象格式化為指定的字元串
- time.strptime(string[, format]):將字元串解析為 struct_time 對象
五、時間模塊的應用場景
time 模塊在 Python 中的應用非常廣泛,包括但不限於以下場景:
- 時間戳的獲取和轉換
- 時間格式化輸出
- 定時器和計時器功能的實現
- 程序執行時間的監測
- 日期的加減和比較操作
- 倒計時和循環等待等操作
- 數據緩存和更新等操作
總之,在 Python 中,time 模塊是處理時間相關操作的必備工具之一,學好它可以讓你的程序更加高效、穩定、可靠。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/270755.html