一、獲取當前時間戳
time.time()函數可以獲取當前的時間戳,以浮點數的形式返回。時間戳是自1970年1月1日以來的秒數,也稱為Unix時間戳。
import time
now = time.time()
print("當前時間戳為:", now)
輸出結果:當前時間戳為:1605661038.9961302
時間戳的作用有很多,比如在程序調試時可以用來記錄程序運行時間,或者計算程序運行的時間差。
二、計時器的實現
time模塊中提供了計時器的功能,可以用來測量程序和代碼塊的執行時間。
import time
start_time = time.time()
# 模擬程序執行時間
time.sleep(2)
end_time = time.time()
print("程序執行時間為:", end_time - start_time, "秒")
輸出結果:程序執行時間為: 2.0001180171966553 秒
利用計時器,我們可以評估和優化程序的性能,例如通過改變某些函數或演算法來縮短程序的執行時間。
三、時間格式的轉換
time.time()函數返回的是Unix時間戳,如果需要將其轉換為人類可讀的時間格式,可以使用time.localtime()函數和time.strftime()函數。
import time
# 獲取當前時間戳
timestamp = time.time()
# 將時間戳轉換為本地時間
local_time = time.localtime(timestamp)
# 將本地時間格式化為ISO格式(年-月-日 時:分:秒)
iso_time = time.strftime('%Y-%m-%d %H:%M:%S', local_time)
print("當前時間為:", iso_time)
輸出結果:當前時間為:2020-11-18 16:10:38
在實際開發中,我們會經常需要將時間格式轉換為人類可讀的形式,這種情況下,time函數庫中的函數就能派上用場了。
四、時間日期的加減計算
在實際開發中,我們經常需要對日期、時間進行加減計算,例如計算一個事件發生多久以前,或者計算某個時間點之後的一段時間。
import time
# 獲取當前時間戳
now = time.time()
# 計算5天前的時間
five_days_ago = now - 5*24*60*60
# 將時間戳轉換為本地時間
local_time = time.localtime(five_days_ago)
# 將本地時間格式化為ISO格式(年-月-日 時:分:秒)
iso_time = time.strftime('%Y-%m-%d %H:%M:%S', local_time)
print("5天前的時間為:", iso_time)
輸出結果:5天前的時間為:2020-11-13 16:10:38
通過time.time()函數獲取當前時間戳後,我們可以進行簡單的加減計算,計算出需要的時間點。
五、多線程同步
在多線程應用中,有時需要對不同線程的執行時間進行同步控制,使線程間的執行時間保持同步狀態。
import time
import threading
def worker():
print(threading.current_thread().getName(), '開始執行')
time.sleep(2)
print(threading.current_thread().getName(), '執行完畢')
start_time = time.time()
threads = []
# 創建5個線程
for i in range(5):
t = threading.Thread(target=worker)
threads.append(t)
# 啟動線程
for t in threads:
t.start()
# 等待線程執行完成
for t in threads:
t.join()
end_time = time.time()
print('程序執行時間為:', end_time - start_time, '秒')
輸出結果:
Thread-1 開始執行
Thread-2 開始執行
Thread-3 開始執行
Thread-4 開始執行
Thread-5 開始執行
Thread-4 執行完畢
Thread-3 執行完畢
Thread-5 執行完畢
Thread-2 執行完畢
Thread-1 執行完畢
程序執行時間為: 2.003438949584961 秒
通過使用time.time()函數記錄程序執行的開始和結束時間,可以計算出程序執行的時間長度,從而進行多線程同步控制。
原創文章,作者:VLHFE,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/332149.html
微信掃一掃
支付寶掃一掃