2016-11-22 48 views
0

嗨,我是新角度,我想通過過去的數據顯示來自 昨天的日期的數據,並顯示今日+未來日期的數據。如何過濾數據的未來和過去的日期

//Here is the HTML code for Past Events 
<div ng-repeat="event in events | filter:pastDate"> 
<p>{{event.name}} 
<div> 

//Here is the HTML code for Future Events 
<div ng-repeat="event in events | filter:futureDate"> 
<p>{{event.name}} 
<div> 

每個事件都有一個開始日期和結束日期, 任何人都可以請解釋如何實現這一目標。

+0

如果大於今天然後FutureDate否則,如果比今天然後PastDate小。 –

+0

@Kranthi你可以提供一些關於你的問題的更多信息,比如什麼是事件對象的結構等? – sreeramu

+0

希望這有助於:http://stackoverflow.com/questions/25515431/ng-repeat-filtering-data-by-date-range – Cruzer

回答

0

試試這個

var myApp = angular.module('app', []); 
 
myApp.controller('TestController', ['$scope', function($scope) { 
 
    var d = new Date();   
 
    d.setDate(d.getDate() - 1); 
 
    $scope.events = [{date:new Date}, {date: new Date()},{date: d}];  
 
    prepareDate = function() { 
 
     var date = new Date(); 
 
     date.setHours(0); 
 
     date.setMinutes(0); 
 
     date.setSeconds(0); 
 
     return date; 
 
    } 
 
    $scope.pastDate = function(actual){ 
 
     return actual.date < prepareDate();   
 
    } 
 
    $scope.futureDate = function(actual){ 
 
     return actual.date >= prepareDate();   
 
    } 
 
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<body ng-app="app"> 
 
    <div ng-controller="TestController"> 
 
    <h4>Past:</h4> 
 
    <div ng-repeat='event in events | filter : pastDate'>{{event.date| date:'yyyy-MM-dd HH:mm:ss'}}</div> 
 
    <h4>Future:</h4> 
 
    <div ng-repeat='event in events | filter : futureDate'>{{event.date| date:'yyyy-MM-dd HH:mm:ss'}}</div> 
 
</div> 
 
</body>