Python程序将秒转换为小时、分钟和秒
给定一个整数n (以秒为单位),将其转换为小时、分钟和秒。
例子:
Input : 12345
Output : 3:25:45
Input : 3600
Output : 1:00:00
方法#1:天真
这种方法只是通过简单的数学计算来获取小时、分钟和秒的简单方法。
# Python Program to Convert seconds
# into hours, minutes and seconds
def convert(seconds):
seconds = seconds % (24 * 3600)
hour = seconds // 3600
seconds %= 3600
minutes = seconds // 60
seconds %= 60
return "%d:%02d:%02d" % (hour, minutes, seconds)
# Driver program
n = 12345
print(convert(n))
输出:
3:25:45
方法 #2:替代 Naive 方法
通过使用divmod()
函数,它只执行一次除法来产生商和余数,您只需两个数学运算就可以非常快速地得到结果。
# Python Program to Convert seconds
# into hours, minutes and seconds
def convert(seconds):
min, sec = divmod(seconds, 60)
hour, min = divmod(min, 60)
return "%d:%02d:%02d" % (hour, min, sec)
# Driver program
n = 12345
print(convert(n))
输出:
3:25:45
方法 #3:使用timedelta
( datetime
时间模块的对象)
Datetime 模块提供timedelta对象,它表示一个持续时间,两个日期或时间之间的差异。 datetime.timedelta
可用于将秒表示为小时、分钟和秒格式。
# Python Program to Convert seconds
# into hours, minutes and seconds
import datetime
def convert(n):
return str(datetime.timedelta(seconds = n))
# Driver program
n = 12345
print(convert(n))
输出:
3:25:45
方法 #4:使用time.strftime()
time.strftime()
可以更好地控制格式。格式和time.gmtime()
作为参数传递。 gmtime用于将秒转换为strftime()
所需的特殊元组格式。
# Python Program to Convert seconds
# into hours, minutes and seconds
import time
def convert(seconds):
return time.strftime("%H:%M:%S", time.gmtime(n))
# Driver program
n = 12345
print(convert(n))
输出:
03:25:45