PeeHaa
PeeHaa

Reputation: 72729

javascript parse time (minutes:seconds) from milliseconds

How to parse a given amount of milliseconds (e.g. 125230.41294642858) into a time format like: minutes:seconds?

Upvotes: 12

Views: 16090

Answers (4)

user578895
user578895

Reputation:

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

alert(min + ':' + sec);

Upvotes: 31

Robin Wieruch
Robin Wieruch

Reputation: 15908

Even though moment.js does not provide such functionality, if you come here and you are already using moment.js, try this:

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

This workaround in moment was introduced in this Issue.

Upvotes: 2

Anatoly
Anatoly

Reputation: 15530

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'

Upvotes: 2

JaredPar
JaredPar

Reputation: 755557

Try the following

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

Upvotes: 2

Related Questions