Javascript moment.js从十进制nr中获取hh:mm:ss
从126.55(126分钟,55秒)的值中,如何获得02:06:55这样的输出Javascript moment.js从十进制nr中获取hh:mm:ss,javascript,momentjs,Javascript,Momentjs,从126.55(126分钟,55秒)的值中,如何获得02:06:55这样的输出 var d = moment.duration(126.55,'minutes'); var hours = Math.floor(d.asHours()); var mins = Math.floor(d.asMinutes()) - hours * 60; var secs = Math.floor(d.asSeconds()) - mins * 60; console.log(hours + ":" + min
var d = moment.duration(126.55,'minutes');
var hours = Math.floor(d.asHours());
var mins = Math.floor(d.asMinutes()) - hours * 60;
var secs = Math.floor(d.asSeconds()) - mins * 60;
console.log(hours + ":" + mins + ":" + secs);
我的输出是2:6:7233
所需输出02:06:55尝试以下操作:
var值=126.55;
var分钟=数学下限(值),
秒=(值-分钟)*100;
var duration=时刻。持续时间(分钟,'分钟')。添加(秒,'秒');
警报(矩.utc(duration.asmillseconds()).format(“HH:mm:ss”)代码>
我建议使用矩持续时间格式插件,但首先,秒数必须从秒转换为十进制(即:55秒是91百分之一秒):
window.onload=function(){
var min=6.55;
min=parseInt(min)+(min*100%100)/60;
var result=moment.duration(min,'minutes').format(“HH:mm:ss”,{trim:false});
document.getElementById('log').textContent=result;
}
查看此处和此处(您正在搜索格式()
方法查看此插件:。我想这就是您正在查找的内容for@AndréDion为什么不使用utc()
?这会导致OP试图实现的目标。谢谢!您的解决方案运行良好,但我执行筛选时除外。如果值变小(不到一个小时)它会释放格式。对于ex而不是00:06:55,我得到了06:55。你知道即使在小值上我也可以保持hh:mm:ss格式吗?@Cris Snippet更新。使用trim在前导值为0时强制前导值。有关详细信息,请参阅让我知道。。