Python将秒转换为小时,分钟,秒

时间:2018-02-01 23:30:26

标签: python python-3.x converter

我在互联网上找到了这个代码并稍微改了一下,但由于某种原因,结果是1秒错了;

Ex:140153应该返回38:55:53但是返回38:55:52

N = int(input())
min = 60
hour = 60 * 60
day = 60 * 60 * 24

DAY = N // day
HOUR = (N - (DAY)) // hour
MINUT = (N - (DAY + (HOUR * hour))) // min
SECONDS = N - (DAY + (HOUR * hour) + (MINUT * min))

print('{}:{}:{}'.format(HOUR, MINUT, SECONDS))

1 个答案:

答案 0 :(得分:1)

DAY的值为1。

在每一步中,您将减去天数(1)而不是每天的秒数。它不会影响小时和分钟的计算,因为您正在进行整数除法(//)(在文档中称为floor division)。

但是,由于您只需要以小时,分钟和秒为单位的时间,因此您可以完全从代码中删除DAY

N = int(input())
min = 60
hour = 60 * 60
day = 60 * 60 * 24

HOUR = N // hour
MINUT = (N - (HOUR * hour)) // min
SECONDS = N - ((HOUR * hour) + (MINUT * min))

print('{}:{}:{}'.format(HOUR, MINUT, SECONDS))

N = 140153为您提供38:55:53

N = 200000为您提供55:33:20

如果您只想将秒数转换为小时/分钟/秒,请检查this question以获得更多的pythonic方式。