1、引言
時間是人類不可逆轉的流逝,而時間的計算處理也是軟體開發中不可或缺的部分。Python語言中的Time庫提供了一組簡單而又強大的操作時間的函數。
在本篇文章中,我們將介紹Python Time庫的基礎使用,希望能夠幫助讀者更加高效地處理時間相關操作。
2、Python Time庫的基礎使用
2.1 獲取當前時間
使用time()
函數可以獲得當前時間的時間戳(從1970年1月1日午夜開始的秒數):
import time
print(time.time()) # 輸出當前時間戳
輸出結果如下:
1621364768.419612
可以使用localtime()
函數將時間戳轉換成可讀的時間格式:
import time
localtime = time.localtime(time.time())
print("本地時間為 :", localtime)
輸出結果如下:
本地時間為 : time.struct_time(tm_year=2021, tm_mon=5, tm_mday=19, tm_hour=11, tm_min=6, tm_sec=55, tm_wday=2, tm_yday=139, tm_isdst=0)
可以使用strftime()
函數進行格式化輸出:
import time
# 獲取當前時間
t = time.localtime(time.time())
# 格式化輸出
print(time.strftime("%Y-%m-%d %H:%M:%S", t))
輸出結果如下:
2021-05-19 11:14:01
2.2 時間的加減操作
可以使用sleep()
函數讓程序暫停指定的秒數:
import time
print("等待5秒...")
time.sleep(5) # 等待5秒
print("繼續執行")
可以使用gmtime()
函數獲取當前 UTC 時間:
import time
print("當前 UTC 時間為:", time.gmtime())
輸出結果如下:
當前 UTC 時間為: time.struct_time(tm_year=2021, tm_mon=5, tm_mday=19, tm_hour=4, tm_min=22, tm_sec=51, tm_wday=2, tm_yday=139, tm_isdst=0)
可以使用mktime()
函數將時間轉換成時間戳:
import time
t = (2021, 5, 19, 11, 30, 0, 0, 0, 0)
t_stamp = time.mktime(t)
print("2021年5月19日11點30分的時間戳為:", t_stamp)
輸出結果如下:
2021年5月19日11點30分的時間戳為: 1621417800.0
可以使用strptime()
函數將字元串轉換成時間格式:
import time
str_time = "2021-05-19 11:30:00"
t = time.strptime(str_time, "%Y-%m-%d %H:%M:%S")
print(t)
輸出結果如下:
time.struct_time(tm_year=2021, tm_mon=5, tm_mday=19, tm_hour=11, tm_min=30, tm_sec=0, tm_wday=2, tm_yday=139, tm_isdst=-1)
可以使用timedelta()
函數進行時間的加減操作:
import datetime
# 獲取當前時間
now = datetime.datetime.now()
# 1小時後的時間
delta = datetime.timedelta(hours=1)
new_time = now + delta
# 格式化輸出
print("當前時間為:", now.strftime("%Y-%m-%d %H:%M:%S"))
print("1小時後的時間為:", new_time.strftime("%Y-%m-%d %H:%M:%S"))
輸出結果如下:
當前時間為: 2021-05-19 11:43:17
1小時後的時間為: 2021-05-19 12:43:17
3、小標題
3.1 時間戳的精度問題
使用time()
函數獲取當前時間的時間戳,會發現小數點後面的數值很多:
import time
print(time.time())
輸出結果如下:
1621364768.419612
這是由於計算機的位數限制,導致時間戳存在精度問題。在需要完全精確的時間戳時,可以使用perf_counter()
或monotonic()
函數。
3.2 時間格式化
使用strftime()
函數可以將時間格式化成指定的格式,可以使用的格式參數很多。例如:
%Y
年%m
月%d
日%H
時(24小時制)%M
分%S
秒%w
星期幾(0~6,0代表星期日)
例如,如果要輸出形如「2021年5月19日星期三」的時間格式,則可以使用如下代碼:
import time
t = time.localtime() # 獲取當前時間
print(time.strftime("%Y年%m月%d日星期%w", t))
輸出結果如下:
2021年05月19日星期3
4、總結
Python Time庫提供了一組簡單而又強大的操作時間的函數,可以方便地進行時間戳的轉換、格式化、加減操作等。使用這些函數可以讓我們更加高效地處理時間相關的操作。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/302902.html