How to convert iso-8601 duration in seconds using moment?

I have an iso-8601 duration that looks like this:

PT15M51S

      

I want to convert duration in seconds to store it in db and order by duration, etc.

Here's what I've tried so far:

var moment = require('moment');
var duration = 'PT15M51S';
var x = moment(duration, moment.ISO_8601);
console.log(x.seconds());

      

The result is NaN

.

+3


source to share


1 answer


You need to use a function moment.duration

. Also, to get the total value in seconds, use asSeconds()

instead seconds()

.

In your case:



var moment = require('moment');
var duration = 'PT15M51S';
var x = moment.duration(duration, moment.ISO_8601);
console.log(x.asSeconds()); // => 951

      

+4


source







All Articles