按日期/时间范围的角度过滤

时间:2013-08-26 22:12:16

标签: angularjs

我正在尝试通过传递时间范围来构建事件日期过滤器。我能够过滤与今天相同的事件,但需要帮助来过滤上周,上个月等事件......

$scope.eventDateFilter = function(column) {
    if(column === 'today') {
        $scope.dateRange = $scope.dateToday;
    } else if (column === 'pastWeek') {
        //need logic
    } else if (column === 'pastMonth') {
        //need logic            
    } else if (column === 'future') {
        //need logic
    } else {
        $scope.dateRange = "";
    }
}

这是我的小提琴: http://jsfiddle.net/c6BfQ/3/

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我会使用自定义过滤器。这是我过去两天用来过滤的东西,它应该让你知道如何做你的。

.filter('dateFilter', function() {
  return function (objects) {
    var filtered_list = [];
    for (var i = 0; i < objects.length; i++) {
      var two_days_ago = new Date().getTime() - 2*24*60*60*1000;
      var last_modified = new Date(objects[i].date_created).getTime();
      if (two_days_ago <= last_modified) {
        filtered_list.push(objects[i]);
      }
    }
    return filtered_list;
  }
});