大家好我想使用meanjs app中的日期范围功能过滤基于Due_date
的项目(开始日期和结束日期)...... My Plunk
请看我的傻瓜参考。
我显示Due_date
,因此这是我想要用于过滤的字段。
我使用了一些功能来添加invoice_Date
和terms
,它提供了Due_date
之类的答案。 例如: invoice_date:2016-09-10
,条款:6
,我得到的答案Due_date:16-09-2016
所以我热切地寻找,我想过滤Due_date
作为开始日期和结束日期:例如: - 如果我们选择开始日期,如{{1表格中的结束日期为16-09-2016
,这两个事务只需要显示或过滤...所以我使用了daterange过滤器来实现这个解决方案,
我可以完美地过滤25-09-2016
但无法过滤start date
,如果我们选择End date
它没有在表格中显示正确的交易。示例: - End date
: - startdate
如果我们选择16-09-2016
,如28-09-2016,它应该需要显示三个事务,但只有两个事务显示在表中.... My Plunker
控制器:
end date
HTML
.filter("myfilter", function() {
return function(items, from, to) {
var df = from;
var dt =to;
var result = [];
for (var i=0; i<items.length; i++){
var date = new Date(items[i].invoice_date);
date.setDate(date.getDate() + parseInt(items[i].terms));
var tf = date;
if (tf > df && tf < dt) {
result.push(items[i]);
}
}
console.log(items);
return result;
};
});
过滤器: -
<input type="date" class="form-control" name="from" ng-model="from">
<input type="date" class="form-control" name="to" ng-model="to">
这下面需要过滤表格: -
DUE_DATE: -
ng-repeat="data in record | myfilter:from:to"
答案 0 :(得分:1)
您应该尝试Moment进行日期时间操作,
var date = moment(items[i].invoice_date).add(items[i].terms,'d');
if(date.isAfter(from) && date.isBefore(to)){
.....
}