Calculating date difference with angular filter

前端 未结 2 1793
心在旅途
心在旅途 2021-01-14 14:34

I needed to be able to calculate the difference between two days, inclusive, and display the difference. Ideally this would be via an angular filter so it can be used all ov

相关标签:
2条回答
  • 2021-01-14 15:05

    JS Filter

    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 to display the value.

    <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>
    
    0 讨论(0)
  • 2021-01-14 15:18

    Duplicate of 26649194

    angular-moment does the trick! ...and (very) else more.

    Using the amDifference filter:

    Get the difference between two dates in milliseconds. Parameters are date, units and usePrecision. Date defaults to current date. Example:

    <span>Difference: {{ dateFrom | amDifference : dateTo : 'days' }} days</span>
    
    0 讨论(0)
提交回复
热议问题