在MomentJS中将分钟转换为小时(H:mm)

时间:2018-04-24 12:12:52

标签: javascript momentjs

我试图在几分钟内添加用户给出的时间,将它们转换为h:mm格式 问题是当总时间<= 23:59时,时刻JS给出了正确的结果但是如果它增加了,那么JS会改变当天并给出错误的结果。

例如,如果我转换120分钟,它会给我2:00 但是在2273的情况下,它会给我13:53

这是代码

 var totalTimeInMin=2273;
 var totalTimeInHours = moment.utc().startOf('day').add(totalTimeInMin, 'minutes').format('H:mm');

2 个答案:

答案 0 :(得分:2)

你可以除以60,得到小时和模数分钟

&#13;
&#13;
var totalTimeInMin = 2273;
console.log(Math.floor(totalTimeInMin / 60) + ':' + totalTimeInMin % 60)
&#13;
&#13;
&#13;

答案 1 :(得分:0)

发布晚了,但是我认为下面的细节在这里很有用。

momentjs中的

duration也可用于计算持续时间的总时数和分钟数:

function minutes_to_hhmm (numberOfMinutes) {
    //create duration object from moment.duration  
    var duration = moment.duration(numberOfMinutes, 'minutes');
    
    //calculate hours
    var hh = (duration.years()*(365*24)) + (duration.months()*(30*24)) + (duration.days()*24) + (duration.hours());
    
    //get minutes
    var mm = duration.minutes();
    
    //return total time in hh:mm format
    return hh+':'+mm;
}

console.log(minutes_to_hhmm(2273)); // 37:53
console.log(minutes_to_hhmm(220)); //3:40
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.28.0/moment.min.js"></script>

function minutes_to_hhmm可以根据duration constructor in the documentation轻松地适应其他时长,例如-小时,天,月等。