Python中的time模塊是一個非常實用的模塊,它提供了用於獲取當前時間、時間格式轉換、計時等功能。time模塊的使用涵蓋了很多領域,包括系統與程序的時間操作、計時、調度等。
一、time模塊的基礎介紹
time模塊是Python中一個處理時間相關的模塊,它提供了一些常用的時間處理函數,例如獲取當前時間、等待一段時間、計時器等。可以通過time模塊來獲取當前時間,或者將現有時間轉化為指定格式的字符串。
import time
# 獲取當前時間戳
timestamp = time.time()
print("當前時間戳為:", timestamp)
# 獲取當前時間
local_time = time.localtime(timestamp)
print("當前時間為:", local_time)
# 將當前時間格式化為字符串
format_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print("當前格式化時間:", format_time)
在這個示例中,我們使用了time模塊的三個函數。其中time.time()用於獲取當前時間戳,time.localtime()則是將時間戳轉換為本地時間,而time.strftime()則是將時間轉換為字符串格式。在調用time.strftime()的時候,我們傳入了第二個參數local_time,就可以獲得包含年月日、時分秒的時間格式。
二、計時功能的實現
在程序中對計時功能的需要十分常見,特別是在性能優化和性能測試時,能夠很好的掌握程序執行情況。time模塊中再次提供了timer()函數,以提供計時的功能。timer()在經過一定的時間後,會返回當前的時間戳差值。
import time
start_time = time.timer()
# 這裡是需要進行計算的程序
end_time = time.timer()
print("程序運行時間為:", end_time - start_time)
在這裡,我們可以通過拿到start_time,和end_time的時間差,從而計算出程序所運行的時間。通過這個方式,我們可以很好的控制程序的速度和執行情況。
三、time模塊使用小技巧
除了time模塊提供的基礎功能以外,還有很多小技巧可以幫助我們更方便地使用time模塊實現各種實用的功能。
比如,我們可以使用time模塊中的sleep()函數來休眠程序一段時間:
import time
print("程序正在運行...")
time.sleep(5)
print("被休眠5秒")
上述代碼會讓這個程序休眠5秒,使得程序暫停5秒後才會繼續執行,並打印出「被休眠5秒」的提示。
我們也可以使用monotonic()函數來獲取計時器的精準時間,這個函數可用於計算程序執行時間,不受系統時間調整的影響:
import time
start_time = time.monotonic()
# 這裡是需要進行計算的程序
end_time = time.monotonic()
print("程序運行時間為:", end_time - start_time)
與time()函數相比,monotonic()函數能夠更加精確地計算程序運行時間。
除此之外,我們還可以使用time模塊中的strptime()函數來將字符串格式時間轉為時間格式:
import time
str_time = "2018-08-28 21:06:00"
format_time = time.strptime(str_time, "%Y-%m-%d %H:%M:%S")
print(format_time)
上面代碼將字符串格式時間轉為了時間格式,並打印出來。
四、時間計算的實現
在一些需要對時間進行計算的場景下,time模塊提供了一些常用的函數來完成時間計算任務。常用的計算時間的方法包括:
- 將時間戳轉換為本地時間
- 將本地時間轉換為時間戳
- 獲取時間差
- 在時間上加減指定時間長度
下面我們將通過代碼演示來吧這些方法運用起來。
import time
# 將時間戳轉化為本地時間格式
timestamp = time.time()
local_time = time.localtime(timestamp)
print("時間戳:", timestamp)
print("本地時間:", local_time)
# 時間格式轉時間戳
str_time = "2021-06-11 16:43:49"
timestamp = time.mktime(time.strptime(str_time, "%Y-%m-%d %H:%M:%S"))
print("時間格式:", str_time)
print("時間戳:", timestamp)
# 獲取時間差
time_1 = "2021-06-10 16:59:49"
time_2 = "2021-06-11 16:59:49"
diff = (time.mktime(time.strptime(time_2, "%Y-%m-%d %H:%M:%S")) -
time.mktime(time.strptime(time_1, "%Y-%m-%d %H:%M:%S")))
print("時間差為:", diff)
# 在時間上增加一定的時間長度
time_1 = "2021-06-10 16:59:49"
minutes = 30
timestamp = time.mktime(time.strptime(time_1, "%Y-%m-%d %H:%M:%S"))
new_timestamp = timestamp + minutes * 60
result_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(new_timestamp))
print("{}分鐘後的時間為:{}".format(minutes, result_time))
在這個例子中,我們涉及到的方法有:time.time()、time.localtime()、time.mktime()、time.strptime()、time.strftime(),它們分別的作用如上文所述。
五、總結
通過上述的講解,我們可以看到time模塊在Python的歷史中一直扮演着重要的角色。它不僅可以方便地操作時間,還能夠實現更加精準的時間計算。當我們需要進行計時、等待或時間計算時,可以考慮使用time模塊中的函數來實現這些操作。
在實際的工作代碼開發中,我們也可以根據需要結合其他模塊來使用。例如結合logging模塊來記錄系統的運行日誌等。
最後,希望本篇文章能夠對您在使用time模塊中有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/249354.html