AngularJS按日期排序的订单不起作用

AngularJS按日期排序的订单不起作用,angularjs,json,angularjs-orderby,Angularjs,Json,Angularjs Orderby,我试图按照json对象中给出的日期对json进行排序,但它只检查第一个数字,例如:19-08-2017它只检查19,而忽略-08-2017 这是我的json: $scope.tasks = [{ "id" : 1, "taskDescription" : "Afspraak | Overleg planning/projecten met RT", "taskUser" : "Kenneth Clark", "taskDate" : "02-07-2017",

我试图按照json对象中给出的日期对json进行排序,但它只检查第一个数字,例如:19-08-2017它只检查19,而忽略-08-2017

这是我的json:

$scope.tasks = [{
    "id" : 1,
    "taskDescription" : "Afspraak | Overleg planning/projecten met RT",
    "taskUser" : "Kenneth Clark",
    "taskDate" : "02-07-2017",
    "taskStart" : "14:00",
    "taskStop" : "15:00",
    "taskPlannedHours" : "01:00",
    "taskUsedHours" : "01:00",
    "taskChecked" : true
},{
    "id" : 2,
    "taskDescription" : "Al iets gehoord van de opkoper van de VW up!",
    "taskUser" : "Richard Todd",
    "taskDate" : "03-07-2017",
    "taskStart" : "14:00",
    "taskStop" : "15:00",
    "taskPlannedHours" : "01:00",
    "taskUsedHours" : "01:50",
    "taskChecked" : true
},{
    "id" : 3,
    "taskDescription" : "RS6 's Ochtends naar circuit",
    "taskUser" : "Peter Mol",
    "taskDate" : "19-08-2017",
    "taskStart" : "14:00",
    "taskStop" : "15:00",
    "taskPlannedHours" : "01:00",
    "taskUsedHours" : "00:00",
    "taskChecked" : false
},{
    "id" : 4,
    "taskDescription" : "Afspraak | doe ff afspraakje maken",
    "taskUser" : "Robert Vliek",
    "taskDate" : "14-09-2017",
    "taskStart" : "10:00",
    "taskStop" : "12:00",
    "taskPlannedHours" : "02:00",
    "taskUsedHours" : "00:00",
    "taskChecked" : false
}];
这是我的代码:

<div class="tableRow taskItem" ng-repeat="task in tasks | orderBy:'taskDate':true">

这是输出:

解决方案1: 如果您可以从数据中更改日期格式,那么使用
yyyy-mm-dd
就可以了

解决方案2: (如果无法更改日期格式),可以执行以下操作:

<div class="tableRow taskItem" ng-repeat="task in tasks | orderBy: myCustomDateField: true">

将日期格式更改为yyyy-mm dd此操作有效!谢谢,但是为什么当它是dd-mm-yyyy时它不工作呢?你知道吗?
$scope.myCustomDateField = function(item) {
    var parts = item.taskDate.split('-');
    var number = parseInt(parts[2] + parts[1] + parts[0]);
    return number;
};