一、timedelta概述
timedelta是Python標準庫中的一個模塊,主要用於處理時間間隔(time interval)。
timedelta函數的格式為:timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
其中days、seconds、microseconds、milliseconds、minutes、hours和weeks是可選的參數,它們表示時間間隔的不同單位,可以為正值或負值。
import datetime
# timedelta函數的基本用法
today = datetime.date.today()
one_day = datetime.timedelta(days=1)
yesterday = today - one_day
print('Yesterday :', yesterday)
以上代碼可以輸出昨天的日期,通過使用timedelta函數創建時間間隔,我們可以方便地進行各種時間操作。
二、timedelta參數解析
timedelta函數中的各個參數具體含義和使用方法如下:
- days:表示天數的整數(可以為負數),默認為0。
- seconds:表示秒數的整數(可以為負數),默認為0。
- microseconds:表示微秒數的整數(可以為負數),默認為0。
- milliseconds:表示毫秒數的整數(可以為負數),默認為0。
- minutes:表示分鐘數的整數(可以為負數),默認為0。
- hours:表示小時數的整數(可以為負數),默認為0。
- weeks:表示周數的整數(可以為負數),默認為0。
根據所需進行參數傳遞即可,如下:
import datetime
time = datetime.timedelta(weeks=2, days=5, hours=3, minutes=35, seconds=38)
print(time)
以上代碼可以輸出2周5天3小時35分38秒的時間間隔。
三、timedelta常見用途
1. 時間加減
我們可以通過timedelta函數實現時間加減的操作,從而得到需要的時間。
import datetime
today = datetime.datetime.today()
nextweek = today + datetime.timedelta(days=7)
print('Today :', today)
print('NextWeek :', nextweek)
以上代碼可以輸出今天的日期以及一周後的日期。
2. 計算時間差
有時候我們需要計算兩個時間之間的差值(例如:計算程序運行時間等等),這時候也可以藉助timedelta來幫助我們完成計算。
import datetime
import time
start_time = datetime.datetime.now()
time.sleep(1) # 模擬程序運行
end_time = datetime.datetime.now()
run_time = (end_time - start_time).total_seconds()
print('程序運行時間:%.2f秒' % run_time)
以上代碼使用time模塊模擬程序運行,通過start_time和end_time相減,最終得到程序運行時間。
3. 時間格式轉換
在實際工作中,有時候我們需要將時間轉換為特定的格式,或者將某一格式的時間轉換為另一格式的時間。此時,timedelta同樣可以完成工作。
import datetime
# 日期格式轉化成字元串格式
day1 = datetime.datetime(2021, 1, 1, 0, 0, 0)
day2 = datetime.datetime.strftime(day1, '%Y-%m-%d %H:%M:%S')
print(day2)
# 字元串格式轉化成日期格式
day3 = datetime.datetime.strptime(day2, '%Y-%m-%d %H:%M:%S')
print(day3)
以上代碼可以將日期轉換為字元串格式或將字元串格式轉換為日期格式。
四、總結
timedelta函數是Python中的一個非常實用的工具,它可以用於時間加減、計算時間差、時間格式轉換等多種方面。在實際工作中,我們可以靈活運用timedelta,提高自己的工作效率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/206042.html