Python 程式演示時間運算
對時間值進行數學運算的過程稱為時間運算。例如,加減時間間隔、確定兩個時間值之間的差值或確定一組時間值的平均值,這些都是時間運算的例子。一些應用被用來演示時間運算,例如時間跟蹤器、資料分析和時間排程。在 Python 中,我們有內建的時間函式,即 strptime() 和 divmod(),可用於演示時間運算。時間格式有兩種:12 小時制和 24 小時制。
讓我們舉一個例子來理解兩個不同時間的持續時間。
12 小時制下兩個不同時間的持續時間 -
12:14:11PM - 08:08:20AM 的時間差為 19 小時 54 分 9 秒。
24 小時制下兩個不同時間的持續時間 -
13:14:11 – 17:15:12 = 1 hours, 42 minutes, and 56 seconds.
讓我們看看如何計算時間運算。
語法
以下語法在示例中使用 -
strptime( 'Time_format_in_12_hours', '%I:%M:%S %p' )
Python 中的 strptime 方法用於設定時間格式。以下是 12 小時制時間格式的表示 -
%I - 小時
%M - 分鐘
%S - 秒
%p - AM/PM
strptime( 'Time_format_in_24_hours', '%H:%M:%S' )
這是 24 小時制的時間格式,以下為表示 -
%H - 小時
%M - 分鐘
%S - 秒
divmod( r, q )
divmod() 是 Python 中一個預定義的方法,它接受兩個引數 -
r - r 表示餘數。
q - q 表示商。
示例 1
在以下示例中,我們將從在 Python 中匯入 datetime 模組開始程式。然後初始化兩個變數,名為 'time1' 和 'time2',它們定義 12 小時制的時間格式。然後透過減去兩個不同時間來找到時間持續時間,並將其儲存在變數 'Total_duration' 中。接下來,我們建立兩個變數,名為 'hrs' 和 'mint',以計算使用預定義方法 divmod() 將時間持續時間除以 3600 的結果。然後將兩個變數 'mint' 和 'sec' 組合在一起,以計算準確的分鐘和秒。最後,我們使用變數 'hrs','mint' 和 'sec' 列印變數。
from datetime import datetime time1 = datetime.strptime( "12:11:14am", "%I:%M:%S%p" ) time2 = datetime.strptime( "8:09:30pm", "%I:%M:%S%p" ) Total_duration = time2 - time1 hrs, rem = divmod( Total_duration.seconds, 3600 ) mint, sec = divmod( rem, 60 ) print( f"The time duration of 12 hours format: {Total_duration.days} days, {hrs} hours, {mint} minutes, {sec} seconds" )
輸出
The time duration of 12 hours format: 0 days, 19 hours, 58 minutes, 16 seconds
示例 2
在以下示例中,我們將從在 Python 中匯入 datetime 模組開始時間運算程式。然後我們使用 'strptime()' 方法獲取兩個變數,名為 'time1' 和 'time2' 以定義時間格式。然後減去時間,即 time2 - time1 以獲取時間持續時間,並將其儲存在變數 'difference' 中。最後,我們使用變數 'difference' 列印結果。
#time arithmetic from datetime import datetime # 12hours format time1 = datetime.strptime( '12:36:56 PM', '%I:%M:%S %p' ) time2 = datetime.strptime( '8:04:22 AM', '%I:%M:%S %p' ) difference = time1 - time2 print('Time difference in 12-hour format:', difference) # 24hours format time1 = datetime.strptime( '23:39:16', '%H:%M:%S' ) time2 = datetime.strptime( '13:52:21', '%H:%M:%S' ) difference1 = time1 - time2 print( 'Time difference in 24-hour format:', difference1 )
輸出
Time difference in 12-hour format: 4:32:34 Time difference in 24-hour format: 9:46:55
結論
我們瞭解了兩個示例之間的區別。我們看到了 strptime() 方法設定了兩種不同的時間格式,即 12 小時制和 24 小時制。要找到兩個時間之間的持續時間,我們用一個時間減去另一個時間。divmod() 方法分別計算分鐘和秒的餘數和商。因此,透過這種方式,我們演示了時間運算。