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() 方法分別計算分鐘和秒的餘數和商。因此,透過這種方式,我們演示了時間運算。

更新於: 2023年6月1日

163 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告