如何在Python中将时间秒数转换成h:m:s格式?
在本文中,我们将讨论将时间秒数转换为Python中的H M S格式的各种方法。H M S格式表示小时:分钟:秒。
使用算术运算(朴素方法)
在此方法中,我们使用数学计算将时间秒数转换为h m s格式。在这里,我们从用户那里获取输入的时间秒数,并将其转换为所需的格式。
示例
在这个示例中,我们将时间秒数转换为h m s格式。
seconds = int(input("输入秒数:"))
seconds = seconds % (24 * 3600)
hour = seconds // 3600
seconds %= 3600
minutes = seconds // 60
seconds %= 60
print("%d:%02d:%02d" % (hour, minutes, 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("时间以H M S格式为: ",timedelta_obj)
输出
上面代码的输出如下。
时间以H M S格式为: 91 days, 9:25:54
使用.strftime()方法
strftime() 方法由 Python 中的 datetime 模块提供。在这里,我们使用 strftime() 方法将字符串日期时间转换为日期时间。它还用于将日期时间转换为 epoch。
Epoch 是时间的起点,其依赖于平台。在 Windows 和大多数 Unix 系统上,epoch 是 1970 年 1 月 1 日 00:00:00(UTC),并且在自 epoch 以来的秒数中不包括闰秒。我们使用 time.gmtime(0) 在给定的平台上获取 epoch。
语法
strftime() 方法的语法如下。
date.strftime(format)
其中,format 用于指定输出的所需格式。
在这里,我们想将时间秒数转换为 H:M:S 格式。因此,在这种情况下,格式代码为“%H:%M:%S”。
示例
以下是一个示例代码,用于使用.strftime()方法在Python中将时间秒数转换为H:M:S格式。
导入 时间
秒数 = 123455
时间对象 = 时间.gmtime(秒数)
结果时间= 时间.strftime("%H:%M:%S",时间对象)
打印("H M S格式的时间",结果时间)
输出
上述代码的输出如下。
H M S格式的时间 10:17:35
极客教程