Ho bisogno di passare da millisecondi a una tupla di (ore, minuti, secondi, millisecondi) che rappresenta lo stesso intervallo di tempo. Ad esempio:Da millisecondi a ore, minuti, secondi e millisecondi
10799999ms = 2h 59m 59s 999ms
Il seguente pseudo-codice è l'unica cosa che ho potuto venire con:
# 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)
Sono sicuro che deve essere possibile farlo più intelligente/più elegante/più veloce/più compatto.
è possibile utilizzare l'operatore modulo (% in C e amici) per semplificare leggermente i calcoli di x (ad esempio x = x% (60 * 60 * 1000)) – fvu
Assicurarsi di non disporre già di tale funzionalità nella libreria standard del linguaggio che si utilizza. –