2011-04-07 32 views

cevap

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

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

Harika! Teşekkür ederim :) – PeeHaa

+1

'<<' operatörü ne yapıyor? – JaredPar

+3

@JaredPar - 'Math.floor' bir örtük tarafından 'int' cast :) –

2

buraya gelip zaten moment.js kullanıyorsanız aşağıdaki

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

bile moment.js olsa böyle işlevsellik sağlamaz deneyin, şunu deneyin:

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

Bu geçici çözüm, bu Issue numaralı belgede tanıtıldı.

İlgili konular