Converting milliseconds to minutes and seconds with Javascript
With hours, 0-padding minutes and seconds:
var ms = 298999;
var d = new Date(1000*Math.round(ms/1000)); // round to nearest second
function pad(i) { return ('0'+i).slice(-2); }
var str = d.getUTCHours() + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds());
console.log(str); // 0:04:59
function millisToMinutesAndSeconds(millis) {
var minutes = Math.floor(millis / 60000);
var seconds = ((millis % 60000) / 1000).toFixed(0);
return minutes + ":" + (seconds < 10 ? '0' : '') + seconds;
}
millisToMinutesAndSeconds(298999); // "4:59"
millisToMinutesAndSeconds(60999); // "1:01"
As User HelpingHand pointed in the comments the return statement should be:
return (
seconds == 60 ?
(minutes+1) + ":00" :
minutes + ":" + (seconds < 10 ? "0" : "") + seconds
);