如果差异超过10分钟,则将持续时间在两次之间

时间:2016-12-10 09:29:13

标签: javascript node.js

我有两个日期,通常是start_time和end_time。如果分钟组件是>我想在时间和小时组件之间取差异。 10分钟。例如:

  • 12分钟的差异 - 最多1小时
  • 1小时31分钟的差异 - 最多2小时
  • 2小时4分钟的差异 - 保持2小时
  • 3小时59分钟的差异 - 最多4小时

所以这是我到目前为止能够实现的代码。我发现这两个日期之间存在差异并将其潜水3600000并将其四舍五入,但这就像将1小时30分钟转换为2小时。

 var duration = Math.round(moment(end_time).diff(moment(booking_result.start_time))  / 3600000);

有人可以建议解决方案吗?

1 个答案:

答案 0 :(得分:2)

当我看到你正在使用momenjs时,你想要做的事情很简单:

var duration = moment.duration(end_time.diff(start_time));
var hours = duration.asHours();

将以小时为单位给出持续时间,正如我从你想要做的问题中所理解的那样是向上舍入到最接近的整数,但只有当这个差值超过10分钟时。在分钟组件中:

if (duration.minutes() > 10) {
    var result = Math.ceil(hours);
}