如何比较来自datepicker的日期?

时间:2015-08-13 07:04:25

标签: angularjs datepicker angularjs-filter

我正在尝试比较来自bootstrap datepicker的日期和此格式11/05/2008。我尝试使用Date.parse:

app.filter('dateRange', function(){
  return function(items, fr,to){
    var arrayToReturn = [];

    for (var i=0; i<items.length; i++){


      var testing =Date.parse(items[i].date) > Date.parse(fr) && Date.parse(items[i].date) < Date.parse(to);

      if (testing)
      {
        arrayToReturn.push(items[i]);
      }
    }
    return arrayToReturn;
  };
});

过滤器应该在datefrom到dateto范围内过滤。目前我遇到了比较日期格式的问题。如何更改指令以便比较日期?

plunkr:http://plnkr.co/edit/gNswudddB6NY0dL55IR7?p=preview

1 个答案:

答案 0 :(得分:0)

至少在您的plunker中,问题是您使用date字段,该字段仅根据https://docs.angularjs.org/api/ng/input/input%5Bdate%5D接受yyyy-MM-dd格式的输入。这会导致过滤器中的from和to字段未定义,因为日期根据角度不有效。将输入类型更改为text可以解决问题。

更新了plunker(例如,尝试输入01/01/201501/01/2016):

http://plnkr.co/edit/Y0qRjK6Lujg3t4b0Wdle?p=preview