如何使用 moment 将 iso-8601 持续时间转换为秒数?
How to convert iso-8601 duration to seconds using moment?
我有一个 iso-8601 持续时间如下:
PT15M51S
我想将持续时间转换为 秒 以便我可以将其存储在数据库中并按持续时间等排序
这是我到目前为止尝试过的方法:
var moment = require('moment');
var duration = 'PT15M51S';
var x = moment(duration, moment.ISO_8601);
console.log(x.seconds());
这导致 NaN
。
您需要使用 moment.duration
function. Also, to get the total value in seconds, use asSeconds()
而不是 seconds()
。
你的情况:
var moment = require('moment');
var duration = 'PT15M51S';
var x = moment.duration(duration, moment.ISO_8601);
console.log(x.asSeconds()); // => 951
我有一个 iso-8601 持续时间如下:
PT15M51S
我想将持续时间转换为 秒 以便我可以将其存储在数据库中并按持续时间等排序
这是我到目前为止尝试过的方法:
var moment = require('moment');
var duration = 'PT15M51S';
var x = moment(duration, moment.ISO_8601);
console.log(x.seconds());
这导致 NaN
。
您需要使用 moment.duration
function. Also, to get the total value in seconds, use asSeconds()
而不是 seconds()
。
你的情况:
var moment = require('moment');
var duration = 'PT15M51S';
var x = moment.duration(duration, moment.ISO_8601);
console.log(x.asSeconds()); // => 951