Filter by date range
by Alexandru Pausan
HTML
<div ng-app="app">
<div ng-controller="MyController">
<div ng-repeat="data in Combination | dateFilter:startDate:endDate ">
<div >{{data.DepartureDateTime}}</div>
</div>
</div>
</div>
JavaScript
angular
.module('app',[])
.controller('MyController', MyController)
.filter("dateFilter", dateFilter);
function MyController($scope) {
$scope.Combination = [
{
"DepartureDateTime": "07/14/2015 07:00"
},
{
"DepartureDateTime": "07/14/2015 10:55"
},
{
"DepartureDateTime": "07/14/2015 12:10"
},
{
"DepartureDateTime": "07/14/2015 16:10"
},
{
"DepartureDateTime": "07/14/2015 22:00"
}
];
$scope.startDate = "07/14/2015 10:00";
$scope.endDate = "07/14/2015 20:00";
console.log($scope.Combination);
};
function dateFilter() {
return function(input, start, end) {
var inputDate = new Date(input),
startDate = new Date(start),
endDate = new Date(end),
result = [];
for (var i=0, len = input.length; i < len; i++) {
inputDate = new Date(input[i].DepartureDateTime);
if (startDate < inputDate && inputDate < endDate) {
result.push(input[i]);
}
}
return result;
};
};