Angular Filter by Date

by TheFiddler

HTML

<script src="http://code.angularjs.org/1.3.7/angular.min.js"></script>
<div ng-app="alert" ng-controller="homeCtrl">Filtered
    <table border="1">
        <tbody ng-repeat="order in orders|getOrders">
            <tr>
                <td>{{order.name}}</td>
                <td>{{order.datemodified | date:'shortDate'}}</td>
            </tr>
        </tbody>
    </table>All
    <table>
        <tbody ng-repeat="order in orders">
            <tr>
                <td>{{order.name}}</td>
                 <td>{{order.datemodified | date:'shortDate'}}</td>
            </tr>
        </tbody>
    </table>
</div>

CSS

table {
    
margin: 10px 0 20px 0;
    border: 1px solid #333;
}
td{    padding: 10px;}

JavaScript

var app = angular.module('alert', []);

app.controller('homeCtrl', function ($scope) {
    $scope.orders = [{
        name: "1",
        datemodified: 650000000000
    }, {
        name: "2",
        datemodified: 650000000000
    }, {
        name: "3",
        datemodified: 65000000000000
    }, {
        name: "4",
        datemodified: 65000000000000
    }];

});

app.filter('getOrders', function () {
    return function (orders) {

        var filtered_list = [];

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

            var two_days_ago = new Date().getTime() - 2 * 24 * 60 * 60 * 1000;
            var last_modified = new Date(orders[i].datemodified).getTime();

            if (two_days_ago <= last_modified) {
                filtered_list.push(orders[i]);
            }
        }
        return filtered_list;
    }
});