我需要能够计算两天之间的差异,包括两者,并显示差异。理想情况下,这将通过角度滤波器,因此它可以在整个应用中使用。
答案 0 :(得分: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;
}
}
};
});
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>
答案 1 :(得分:2)
重复26649194
angular-moment可以解决问题! ......和(非常)其他。
使用 amDifference 过滤器:
获取两个日期之间的差异(以毫秒为单位)。参数是 date,units和usePrecision。日期默认为当前日期。例如:
<span>Difference: {{ dateFrom | amDifference : dateTo : 'days' }} days</span>