首页 > 解决方案 > Javascript以小时为单位获得天数的差异

问题描述

我试图在小时和分钟内获得两个日期之间的差异。也就是 之间06/24/2018 17:49:29 and 06/24/2018 21:45:30。这些日期值是动态的,但仅作为示例

所以我试过了

    var date1 = new Date("06/24/2018 17:49:29");
    var date2 = new Date("06/24/2018 21:45:30");
    var timeDiff = Math.abs(date2.getTime() - date1.getTime());
    var difhours = Math.ceil(timeDiff / (1000 * 3600)); 
    console.log(difhours);

以上给了我 4 但差异不是 4 因为有分钟

在我的期望中,我希望差异是

17:49:29 - 18:00:00 = 1.19  //i hour and 19 minutes

18:00:00 to 21:00:00  that is 3 hours

21:00:00 to 21:45:30  that is 45  minutes

添加上面应该给我 5.04 是 5 小时 4 分钟,因为一个小时有 60 分钟

我还需要添加什么才能完成这项工作

我已经检查了这个问题,但它没有给出我正在寻找的解决方案。

我也试过

function dateDiffInHours(date1, date2) {
 var msDiff = date2.getTime() - date1.getTime();
  return msDiff / 3600000;
}
console.log("06/24/2018 17:49:29","06/24/2018 21:45:30")

上面给了我 3.93 这是错误的

标签: javascript

解决方案


推荐阅读