计算两个小时之间的差异

时间:2017-11-06 11:23:45

标签: angular typescript

我试着计算两个小时之间的差异。 我实现了这段代码:

 changEndHour($event: any, i: number) {
    var arrayControl = this.generalForm.get('hours') as FormArray;
    let startHour = arrayControl.at(i).get('startHour').value,
    startMin = arrayControl.at(i).get('startMin').value,
    endMin = arrayControl.at(i).get('endMin').value,
      endHour = $event.split(":"), date1 = new Date(), date2 = new Date();


      date1.setHours(startHour, startMin).toString();
      let d1=date1.setHours(startHour, startMin).toString();
      date2.setHours(endHour, endMin).toString();
      let d2=date2.setHours(endHour, endMin).toString();
      let hours = (Math.abs(date1.getTime() - date2.getTime()) / 1000 / 60 / 60).toFixed(2);
      arrayControl.at(i).get('result').setValue(hours);
    }

当我测试时,此代码无法正确计算结果。 我想计算13:00 - 12:10。结果是0.83,这是错误的。 如何改进我的代码?

1 个答案:

答案 0 :(得分:0)

您的代码运行良好。结果是60分钟的百分比。因此,通过执行以下计算

60 * 0.83 = 49.8

您可以在几分钟内获得所需的结果。

问题的解决方案是

let result = str.split(".")
console.log("Time difference is " + str[0] + " h, " + (60 * str[1]) + " min")