如何使用moments.js从分钟整数获取格式为“ hh:mm”的持续时间?

时间:2019-02-16 09:46:33

标签: momentjs duration

我有一个整数,表示分钟。我试图使用moments.js以小时和分钟为单位显示分钟,即使分钟超过一天:

  • 500将产生“ 08:20”
  • 1600将产生“ 26:40”

这是我到目前为止的内容:

function getDuration(value){

 return moment.utc().startOf('day').add(value, 'minutes').format('hh:mm')
}

上面的代码起作用的唯一问题是,当分钟值超过20小时时,它再次从零开始。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您可以接受简单的javascript实现,那么这里有适合您的事情:

function getDuration(n) {
    var hours = Math.floor(n / 60);
    var minutes = n % 60;
    return pad(hours) + ':' + pad(minutes);
}

function pad(s) {
    s = s + '';
    return s.length < 2 ? ('00' + s).substr(s.length, 2) : s;
}

document.write('see: ' + getDuration(1600));
document.write(', see: ' + getDuration(500));
document.write(', see: ' + getDuration(481));
document.write(', see: ' + getDuration(11600));