Javascript 是否有一种简单的方法可以使用矩.js将十进制时间(例如1.074分钟)转换为mm:ss格式?

Javascript 是否有一种简单的方法可以使用矩.js将十进制时间(例如1.074分钟)转换为mm:ss格式?,javascript,momentjs,Javascript,Momentjs,我想知道是否有一种简单的方法,使用moment.js库,将十进制时间间隔(例如,1.074分钟)转换为其等效的“mm:ss”值。我目前正在使用一个函数,该函数在负时间下工作得不太好(它以“-m:ss”格式输出值): 功能扇区管理(秒){ var最小值=数学楼层(秒/60) 秒=数学圆(数学绝对值(秒)%60); 返回最小值+“:”+(秒

我想知道是否有一种简单的方法,使用moment.js库,将十进制时间间隔(例如,1.074分钟)转换为其等效的“mm:ss”值。我目前正在使用一个函数,该函数在负时间下工作得不太好(它以“-m:ss”格式输出值):

功能扇区管理(秒){
var最小值=数学楼层(秒/60)
秒=数学圆(数学绝对值(秒)%60);
返回最小值+“:”+(秒<10?“0”+秒:秒)
}

仅使用js,以下是一种非常简单快速的方法,可以在12小时内完成此操作:

function secTommss2(sec){
  return new Date(sec*1000).toUTCString().split(" ")[4]
}

下面是一些JavaScript,可以满足您的要求:

function minTommss(minutes){
 var sign = minutes < 0 ? "-" : "";
 var min = Math.floor(Math.abs(minutes));
 var sec = Math.floor((Math.abs(minutes) * 60) % 60);
 return sign + (min < 10 ? "0" : "") + min + ":" + (sec < 10 ? "0" : "") + sec;
}
您可以使用moment.js,例如

但目前,还没有像你所要求的那样,用mm:ss格式设置持续时间的清晰方法,所以你无论如何都要做大部分工作。

使用矩:

函数格式分钟(分钟){
返回时刻().startOf('day')。添加(分钟,'minutes')。格式('m:ss');
}

也许我参加聚会有点晚了,但还是。。。我的两分钱:

您可以在几秒钟内构建变量,将其解析为日期,然后将其剪切为字符串或任何您想要使用的格式:

let totalTimeInSeconds = 1.074 * 60;
let result = new Date(null, null, null, null, null, totalTimeInSeconds);
console.log(result.toTimeString().split(' ').[0].substring(3));
输出将是:

01:14

谢谢Matt,我昨天玩了moment.duration(),但不知道如何让它工作。您的解决方案工作得很好。您可以使用:
矩.utc(矩.duration(duration.asmillseconds()).format('HH:mm')将瞬间持续时间格式化为预期格式。
我将您的答案作为灵感;最后生成了以下代码,将类似“0.25”的值转换为“00:15”:
moment().startOf('day')。add(value,'hours')。format('HH:mm')
moment.duration(1.234, 'minutes')
let totalTimeInSeconds = 1.074 * 60;
let result = new Date(null, null, null, null, null, totalTimeInSeconds);
console.log(result.toTimeString().split(' ').[0].substring(3));
01:14