Lo estás haciendo mal. Para obtener el número de minutos completos, se divide el número total de segundos en un 60 (60 segundos/minutos):
var minutes = Math.floor(time/60);
Y para obtener los segundos restantes, se multiplican los minutos completos con 60 y restar de los segundos totales:
var seconds = time - minutes * 60;
Ahora si usted también desea obtener las horas completas también, dividir el número total de segundos de 3600 (60 minutos/hora · 60 segundos/minuto) en primer lugar, a continuación, calcular los segundos restantes:
var hours = Math.floor(time/3600);
time = time - hours * 3600;
Luego calcula los minutos completos y los segundos restantes.
Bono:
Utilice el código siguiente para imprimir-bastante tiempo (sugerido por Dru)
function str_pad_left(string,pad,length) {
return (new Array(length+1).join(pad)+string).slice(-length);
}
var finalTime = str_pad_left(minutes,'0',2)+':'+str_pad_left(seconds,'0',2);
Eso es porque cuando el tiempo = 3600, 3600% 3600 es siempre 0 ... así todo lo demás será 0 de acuerdo a su cálculo . – MSI