Javascript AngularJS日期范围-如何包括结束日期

Javascript AngularJS日期范围-如何包括结束日期,javascript,angularjs,date-range,Javascript,Angularjs,Date Range,我在角度数据集上使用数据范围过滤器,但是它不“包括”结束日期。我必须从日期选择器中选择+1天,它才能正常工作。开始日期很顺利 此代码只是示例,而不是生产 JAVASCRIPT // parse a date in dd-mm-yyyy format function parseDate(input) { var parts = input.split('-'); return new Date(parts[2], parts[1]-1, parts[0]); } nameSpace.

我在角度数据集上使用数据范围过滤器,但是它不“包括”结束日期。我必须从日期选择器中选择+1天,它才能正常工作。开始日期很顺利

此代码只是示例,而不是生产

JAVASCRIPT

// parse a date in dd-mm-yyyy format
function parseDate(input) {
  var parts = input.split('-');
  return new Date(parts[2], parts[1]-1, parts[0]); 
}

nameSpace.filter("rangeFilter", function() {
  return function(items, from, to) {
        var df = parseDate(from);
        var dt = parseDate(to);
        var arrayToReturn = [];        
        for (var i=0; i<items.length; i++){
            var tf = new Date(items[i].date1 * 1000);
            if (tf >= df && tf < dt)  {
                arrayToReturn.push(items[i]);
            }
        }

        return arrayToReturn;
 };
});
// parse a date in dd-mm-yyyy format
function parseDate(input) {
  var parts = input.split('-');
  return new Date(parts[2], parts[1]-1, parts[0]); 
}

nameSpace.filter("rangeFilter", function() {
  return function(items, obj) {
        var df = parseDate(obj.from);
        var dt = parseDate(obj.to);
        var arrayToReturn = [];        
        for (var i=0; i<items.length; i++){
            var tf = new Date(items[i].date1 * 1000);
            if (tf >= df && tf < dt)  {
                arrayToReturn.push(items[i]);
            }
        }

        return arrayToReturn;
 };
});

我认为您没有正确地传递“to”参数。 正如官方文档所述(),每个过滤器的返回函数接受如下3个参数: 返回函数(数组、表达式、比较器){…} 要传递“from”和“To”参数,应使用对象将它们传递给函数:

HTML

来自:
致:
{{order.date1*1000}日期:'dd-MM-yyyy'}
JAVASCRIPT

// parse a date in dd-mm-yyyy format
function parseDate(input) {
  var parts = input.split('-');
  return new Date(parts[2], parts[1]-1, parts[0]); 
}

nameSpace.filter("rangeFilter", function() {
  return function(items, from, to) {
        var df = parseDate(from);
        var dt = parseDate(to);
        var arrayToReturn = [];        
        for (var i=0; i<items.length; i++){
            var tf = new Date(items[i].date1 * 1000);
            if (tf >= df && tf < dt)  {
                arrayToReturn.push(items[i]);
            }
        }

        return arrayToReturn;
 };
});
// parse a date in dd-mm-yyyy format
function parseDate(input) {
  var parts = input.split('-');
  return new Date(parts[2], parts[1]-1, parts[0]); 
}

nameSpace.filter("rangeFilter", function() {
  return function(items, obj) {
        var df = parseDate(obj.from);
        var dt = parseDate(obj.to);
        var arrayToReturn = [];        
        for (var i=0; i<items.length; i++){
            var tf = new Date(items[i].date1 * 1000);
            if (tf >= df && tf < dt)  {
                arrayToReturn.push(items[i]);
            }
        }

        return arrayToReturn;
 };
});
//以dd-mm-yyyy格式解析日期
函数解析日期(输入){
var parts=input.split('-');
返回新日期(零件[2],零件[1]-1,零件[0]);
}
nameSpace.filter(“rangeFilter”,function()){
返回功能(项目,obj){
var df=解析日期(对象自);
var dt=分析日期(目标至);
var arrayToReturn=[];
对于(变量i=0;i=df&&tf
Hi,我刚刚尝试了一下,对
rangeFilterr:{from:datef,end:date}
var dt=parseDate(obj.end)进行了微调仍然没有乐趣。它确实会过滤,但例如,要包含2014年7月29日,我必须将结束日期发送到2014年7月30日对不起,我错发了变量名,请尝试使用
rangeFilterr:{from:datef,to:datet}
,以及
var dt=parseDate(obj.to)
// parse a date in dd-mm-yyyy format
function parseDate(input) {
  var parts = input.split('-');
  return new Date(parts[2], parts[1]-1, parts[0]); 
}

nameSpace.filter("rangeFilter", function() {
  return function(items, obj) {
        var df = parseDate(obj.from);
        var dt = parseDate(obj.to);
        var arrayToReturn = [];        
        for (var i=0; i<items.length; i++){
            var tf = new Date(items[i].date1 * 1000);
            if (tf >= df && tf < dt)  {
                arrayToReturn.push(items[i]);
            }
        }

        return arrayToReturn;
 };
});