如何在JavaScript中将大于24小时的十进制小时格式化为小时分钟 [英] How to format decimal hours greater than 24 hours into hours minutes in JavaScript

查看:88
本文介绍了如何在JavaScript中将大于24小时的十进制小时格式化为小时分钟的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我看过很多关于十进制小时到小时:分钟的帖子,但是我发现没有任何事情可以用超过一天的时间了.

I have seen many posts about decimal hours to hours:minutes, but I have not found any that work for more than a days worth.

我将以下内容与moment.js一起使用..

I am using the following with moment.js..

function formatHours(decimalHours) {
    var duration = moment.duration(decimalHours, 'hours');

    var hours = duration.hours();
    var minutes = duration.minutes();

    var date = moment().hours(hours).minutes(minutes);
    var result = date.format('HH:mm');

    return result;
  }

但这不能使用超过24小时,例如,我有一个小时要代表一年以上.

but this does not work for greater than 24 hours,eg I have a hours coming in representing over a year.

有没有一种方法可以处理此问题,还可以格式化当前语言环境(视情况而定)

Is there a ways to handle this, and also format for the current locale (as moment should do)

在此先感谢您的帮助

推荐答案

//这是针对moment.js的语言版本

// This is for moment.js in angular

list:any = ["9:12","4:35","9:11"]; //正确声明

list : any = ["9:12","4:35","9:11"]; // declare properly

for(var i=0 ; i < 3; i++){
    var parts = this.list[i].split(":");;
    var hours =  parseInt(parts[0]) ;
    var minutes = parseInt(parts[1]); 
    this.a = moment.duration(this.a._data.hours,'hours').add(hours,'hours').add(this.a._data.minutes,'minutes').add(minutes,'minutes');
  }
  var totalHours = (24 * this.a._data.days) + this.a._data.hours ;
  var total = totalHours + ":" +this.a._data.minutes; 
  }

这篇关于如何在JavaScript中将大于24小时的十进制小时格式化为小时分钟的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆