Мне нужно перейти от миллисекунд к кортежу (час, минуты, секунды, миллисекунды), представляющему одно и то же количество времени. Например:
10799999ms = 2h 59m 59s 999ms
Следующий псевдокод — единственное, что я смог придумать:
# The division operator below returns the result as a rounded down integer
function to_tuple(x):
h = x / (60*60*1000)
x = x - h*(60*60*1000)
m = x / (60*1000)
x = x - m*(60*1000)
s = x / 1000
x = x - s*1000
return (h,m,s,x)
Я уверен, что должна быть возможность сделать это умнее/элегантнее/быстрее/ более компактный.