用角度滤波器计算日期差异

zma*_*anc 3 javascript angularjs angularjs-scope angular-filters

我需要能够计算两天之间的差异,包括两者,并显示差异.理想情况下,这将通过角度滤波器,因此它可以在整个应用中使用.

zma*_*anc 7

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;
      }
    }
  };
});
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)