四舍五入到最接近的小时数会丢失分钟

时间:2018-09-13 18:53:31

标签: javascript momentjs rounding

我有一个函数,可以将obj值四舍五入到最近的小时

  var date = Math.round(moment.duration(moment(startDate).diff(moment())).asHours());

我的测试将检查startDate是否现在

  it('checks if startDate is due now', function () {
      var project1 = mockProject1[1]
      moment().add(30, 'm').format('YYYY-MM-DDTHH:mm:ss') + 'Z';

      var controller = $controller('MyController', {});
      $rootScope.$digest();
      expect(controller.project[3].startDate).toEqual('Due in: < 1h');
  });

这里的问题是,当我比较开始日期到现在并四舍五入到最接近的小时数时,它失去了分钟数,而我的情况下日期缩短了35分钟。

如果我添加0到35分钟之间的值没问题,它现在会输出项目,但是如果它是35到60分钟之间的值,则不是。 地板和天花板无法正常工作,

1 个答案:

答案 0 :(得分:0)

您还应该将两个日期与分钟数据进行比较,以获得正确的结果。