Javascript 用角度滤波器计算数据差

Javascript 用角度滤波器计算数据差,javascript,angularjs,angularjs-scope,angular-filters,Javascript,Angularjs,Angularjs Scope,Angular Filters,我需要能够计算两天(含两天)之间的差异,并显示差异。理想情况下,这将是通过一个角度过滤器,所以它可以用于所有的应用程序 JS过滤器 generalFilters.filter('dateDiff', function () { var magicNumber = (1000 * 60 * 60 * 24); return function (toDate, fromDate) { if(toDate && fromDate){ var dayDiff

我需要能够计算两天(含两天)之间的差异,并显示差异。理想情况下,这将是通过一个角度过滤器,所以它可以用于所有的应用程序

JS过滤器

generalFilters.filter('dateDiff', function () {
  var magicNumber = (1000 * 60 * 60 * 24);

  return function (toDate, fromDate) {
    if(toDate && fromDate){
      var dayDiff = Math.floor((toDate - fromDate) / magicNumber);
      if (angular.isNumber(dayDiff)){
        return dayDiff + 1;
      }
    }
  };
});
HTML来显示值

<div class="field-value">{{entry.toStr | dateDiff:entry.fromStr}} <ng-pluralize count="entry.toStr | dateDiff:entry.fromStr" when="{1:'Day', other: 'Days'}"></ng-pluralize></div>
{{entry.toStr}dateDiff:entry.fromStr}
副本

真的很好玩。。。还有(非常)更多

使用amDifference过滤器:

以毫秒为单位获取两个日期之间的差异。参数为 日期、单位和使用精度。日期默认为当前日期。例如:

Difference:{{dateFrom | amDifference:dateTo:'days'}}days

请不要在多个问题上发布基本相同的答案。你应该发布最佳问题的答案,如果其他问题确实是重复的,则将其标记为第一个问题的重复。如果它们不是重复的,那么您需要调整您的答案,以便它们能够回答问题。对不起,我是堆栈溢出的新手。我正在寻找一种方法来标记为复制,但没有成功。你能告诉我怎么做吗?谢谢你,当你有至少15个声誉时,你可以标记任何帖子,但是标记为重复需要50个声誉,因为你还需要评论特权。所以我不能。。。这就是我害怕的。。。我现在必须做什么?等到你可以标记为重复,或者帮助我确定所有问题都应该重复的最佳问题,以便我可以投票以重复结束。它们可能不会关闭,因为这些都是老问题,但至少会创建一条评论。
<span>Difference: {{ dateFrom | amDifference : dateTo : 'days' }} days</span>