angular 如何按照 "yyyy-mm-ddT00:00:00" 这样的格式按日期订购商品

angular how to order item by date from format like "yyyy-mm-ddT00:00:00"

我得到一个 json 对象,其中包含项目数

   "[{"StartDate":"2015-01-16T00:00:00","EndDate":"2015-01-20T00:00:00"},
    {"StartDate":"2015-01-15T00:00:00","EndDate":"2015-01-16T00:00:00"}]"

我想在客户端 table 使用 DESC 订单

这是请求和returnjson答案

的功能
  function getTrips() {

        //set loading indicator
        vm.searchData.isLoading = true;
        return datacontext.getTrips(vm.searchData.getTripsFilter)
            .success(function (result) {
                try {
                    //set loading indicator
                    vm.searchData.isLoading = false;
                    tripData.trips = result;
                    if (!tripData.trips) {
                        logWarning('dont find trips:(');
                        return;
                    }

                    //post-process trips for display
                    angular.forEach(tripData.trips, tripData.processTrip);

                    //start filtering trips pager
                    vm.searchData.filterTrips();
                    log('found' + tripData.trips.length + ' to this search.');

                    return tripData.trips;
                } catch (e) {
                    logError('error searching trips!', e);
                }
            })
            .error(function (data) {
                logError('error searching trips!', data);
                vm.searchData.isLoading = false;
            });
    }

我想 mybe 添加控制顺序的全局参数(但我得到一个字符串)或者 angular 上有一个我不知道的按日期自动排序功能:|

在此先感谢您的帮助

如果您只是要求简单排序,那么就在这里

HTML

<div ng-controller="DatesCtrl">
    <div ng-repeat="d in dates | orderBy:identity:true" ng-bind="d | date:'medium'"></div>
</div>

Js

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

myApp.controller('DatesCtrl', ['$scope', function($scope) {
    $scope.identity = angular.identity;
    $scope.dates = [ new Date("2015-01-16T00:00:00"), new Date("2015-01-15T00:00:00"), new Date("2015-01-17T00:00:00") ];

 }]);

Example

由于日期值的格式设置方式,无论是将它们作为字符串按字母顺序排序,还是首先将它们转换为 Date 对象,都会得到正确的排序。

因此,您可以使用内置的 orderBy 过滤器对数据进行排序。这可以在您的控制器中完成:

tripData.trips = $filter('orderBy')(tripData.trips, 'StartDate', true);

或者在您看来:

<div ng-repeat="trip in trips | orderBy:'StartDate':true">...</div>

https://docs.angularjs.org/api/ng/filter/orderBy