Python 如何将时间秒转换为h:m:s
格式
在本文中,我们将讨论将时间秒转换为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()方法
在这个方法中,我们使用.timeelta()方法将以秒为单位的时间转换为小时、分钟、秒的格式。.timedelta()方法由datetime库提供,通常用于计算给定日期之间的差异。我们还可以在Python中使用这个方法来操作日期。
语法
.timedelta()方法的语法如下。
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
这里只发送秒参数,因为我们需要将时间转换为小时、分钟、秒的格式。
示例
以下是将时间转换为小时、分钟、秒格式的示例代码。
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