如何在 Python 中將時間秒轉換為 h:m:s 格式?
在本文中,我們將討論在 Python 中將時間秒轉換為 H M S 格式的各種方法。H M S 格式表示小時:分鐘:秒。
使用算術運算(樸素方法)
在這種方法中,我們使用數學計算將時間秒轉換為 h m s 格式。在這裡,我們從使用者那裡獲取以秒為單位的輸入,並將其轉換為所需的格式。
示例
在此示例中,我們將以秒為單位的時間轉換為 h m s 格式。
seconds = int(input("Enter the number of seconds:")) seconds = seconds % (24 * 3600) hour = seconds // 3600 seconds %= 3600 minutes = seconds // 60 seconds %= 60 print("%d:%02d:%02d" % (hour, minutes, seconds))
輸出
程式碼的輸出如下所示。
Enter the number of seconds:5000000 20:53:20
使用 timedelta() 方法
在這種方法中,我們使用 .timedelta() 方法將時間秒轉換為 h m s 格式。.timedelta() 方法由 datetime 庫提供,通常用於計算給定日期之間的差異。我們還使用此方法來操作 Python 中的日期。
語法
timedelta() 方法的語法如下所示。
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
這裡只發送秒引數,因為我們需要將時間秒轉換為 h m s 格式。
示例
以下是一個將時間秒轉換為 H M S 格式的示例程式碼。
import datetime timedelta_obj = datetime.timedelta(seconds=7896354) print("Time in H M S format: ",timedelta_obj)
輸出
以上程式碼的輸出如下所示。
Time in H M S format: 91 days, 9:25:54
使用 .strftime() 方法
strftime() 方法由 Python 中的 datetime 模組提供。在這裡,我們使用 strftime() 方法將字串日期時間轉換為日期時間。它也用於將日期時間轉換為紀元時間。
紀元時間是時間的起點,並且依賴於平臺。在 Windows 和大多數 Unix 系統上,紀元時間是 1970 年 1 月 1 日 00:00:00(UTC),並且紀元時間後的時間秒中不包括閏秒。我們使用 time.gmtime(0) 來獲取給定平臺上的紀元時間。
語法
strftime() 方法的語法如下所示。
date.strftime(format)
其中,format 用於指定輸出所需的格式。
這裡,我們想要將時間秒轉換為 H: M:S 格式。因此,在這種情況下,格式程式碼為“%H:%M:%S”。
示例
以下是一個使用 .strftime() 方法將時間秒轉換為 Python 中的 H:M:S 格式的示例程式碼。
import time seconds = 123455 time_obj = time.gmtime(seconds) resultant_time = time.strftime("%H:%M:%S",time_obj) print("Time in H M S format",resultant_time)
輸出
以下是以上程式碼的輸出。
Time in H M S format 10:17:35