У меня есть функция, которая конвертирует миллисекунды в формат h: m: s.ms, и это работает.
Однако у меня есть одна проблема, которая касается отрицательных чисел.
код
def timer(ms):
s = ms / 1000
m, s = divmod(s, 60)
h, m = divmod(m, 60)
#d,h = divmod(h,24)
d = ms % 1000
if h > 0:
return "{0}:{1}:{2}.{3}".format(int(h), str(int(m)).zfill(2), str(int(s)).zfill(2), str(int(d)).zfill(3))
elif m > 0:
return "{0}:{1}.{2}".format(int(m), str(int(s)).zfill(2), str(int(d)).zfill(3))
else:
return "{0}.{1}".format(int(s), str(int(d)).zfill(3))
print(timer(13700))
# returns 13.700 as expected
-
Когда я даю отрицательные миллисекунды, например, -13700
print(timer(-13700))
возвращает
59:46.300
но ожидаемый результат, который я хочу, равен -13.700
Как я могу решить это?