Formatting MomentJS duration above 24 hours

前端 未结 3 1264
面向向阳花
面向向阳花 2021-02-19 12:10

I would like to format a summed up total working hours e.g. 49.75 to this: 49:45.

When I use duration like this:

const         


        
3条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2021-02-19 13:15

    I think you cannot use format but build it manually:

    var dur = moment.duration(49.75, 'hours');
    var hours = Math.floor(dur.asHours());
    var mins  = Math.floor(dur.asMinutes()) - hours * 60;
    var sec   = Math.floor(dur.asSeconds()) - hours * 60 * 60 - mins * 60;
    
    var result = hours + ":" + mins + ":" + ((sec > 9) ? sec : ("0"+sec));
    console.log(result); // 49:45:00
    

    Fiddle


    Hope someone will find more elegant way

提交回复
热议问题