如何在 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

更新于: 2022-09-08

7K+ 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.