将秒转换为hh:mm:在Python中使用大数字的ss的问题

时间:2017-01-17 16:38:25

标签: python time formatting numbers sys

我让用户输入的输入是秒。大多数时候我能够将输入转换为hh:mm:ss格式,但是当数字变得更大时,我似乎遇到了一些问题。例如,当我输入900时,我得到01:15:-100的结果。我特别不想要否定,并且每个数字只需要两个摘要(也没有小数)。不确定我的数学是否出错了。

if sys.argv[1] == "raceTime":
n = int(sys.argv[2])
if n < 60:
    s = format(number, '0>2.0f')
    print("{}:{}:{}".format(00, 00, s))
else:
    n = int (sys.argv[2])/60
    m =n//1
    h = min//10
    s = (n - h - m)*100
    second = format(s,'0>2.0f')
    minute = format(m, '0>2.0f')
    hour = format(h, '0>2.0f')
    print("{}:{}:{}".format(hour, minute, second))

1 个答案:

答案 0 :(得分:2)

使用正确的string formatting

second = format(sec, '02.0f')  # etc.

或只是

print("{:02.0f}:{:02.0f}:{:02.0f}".format(hour, min, sec))
# f -> float, 02 -> 2 places before (0-padded), .0 -> 0 places after point