Spella
Spella

Reputation: 139

Javascript convert seconds to minutes milliseconds format

I have array like this :

var a = [18.86, 64.48, 99.57, 106.6, 108, 259.69];

I want to convert this array to be like this :

var new_a = [00:18.86, 01:04.48, 01:39.57, 01:46.60, 01:48.00, 04:19.69];

Please help me.. thank you.

Upvotes: 0

Views: 1023

Answers (2)

Mi-Creativity
Mi-Creativity

Reputation: 9664

var secArray = [18.86, 64.48, 99.57, 106.6, 108, 137.49, 259.69],
  newSecArray = [];

for (var i = 0, ln = secArray.length; i < ln; i++) {
  var s = secArray[i],
    m = (s > 60) ? parseInt(s / 60) : '00';
  s = (s > 60) ? s - m * 60 : s;

  newSecArray.push(m + ':' + s.toFixed(2));
}
console.log(newSecArray);

Upvotes: 1

Yashar Aliabbasi
Yashar Aliabbasi

Reputation: 2739

Try this:

var arr = [];
var a = [18.86, 64.48, 99.57, 106.6, 108, 259.69];
a.forEach(function(e) {
  var minute = parseInt(e / 60);
  var intPart = parseInt(e - 60 * minute);
  var fltPart = Math.round(((e - 60 * minute) - intPart) * 100);
  arr.push((minute < 10 ? '0' : '') + minute + ':' + (e - 60 * minute < 10 ? '0' : '') + intPart + '.' + (fltPart < 10 ? '0' : '') + fltPart);
});
console.log(arr);

Upvotes: 3

Related Questions