2011-04-07 13 views

Respuesta

32
var ms = 125230.41294642858, 
    min = 0|(ms/1000/60), 
    sec = 0|(ms/1000) % 60; 

alert(min + ':' + sec); 
+0

¡Estupendo! Gracias :) – PeeHaa

+1

¿Qué está haciendo el operador '<<'? – JaredPar

+3

@JaredPar - 'Math.floor' a través de un molde' int' implícito :) –

2

intente lo siguiente

var num = Number(theTextValue); 
var seconds = Math.floor(num/1000); 
var minutes = Math.floor(seconds/60); 
var seconds = seconds - (minutes * 60); 
var format = minutes + ':' + seconds 
2
Number.prototype.toTime = function(){ 
    var self = this/1000; 
    var min = (self) << 0; 
    var sec = (self*60) % 60; 
    if (sec == 0) sec = '00'; 

    return min + ':' + sec 
}; 


var ms = (new Number('250')).toTime(); 
console.log(ms); 
=> '0:15' 

var ms = (new Number('10500')).toTime(); 
console.log(ms); 
=> '10:30' 
2

Aunque moment.js no proporciona dicha funcionalidad, si usted viene aquí y ya está utilizando moment.js, intente esto:

function getFormattedMs(ms) { 
    var duration = moment.duration(ms); 
    return moment.utc(duration.asMilliseconds()).format("mm:ss"); 
} 

Esta solución en el momento se introdujo en este Issue.

Cuestiones relacionadas