2016-12-20 4 views
1

Я беру дату из json, используя ng-repeat в таблице. Эта дата выглядит следующим образом:Как отсортировать дату в таблице Угловая

20_12_2016

Я не могу сортировать его OrderBy, потому что это будет только сортировать первые два числа (20_12_2016 только «20», приказав останавливается в «_»).

Таблица выглядит следующим образом:

01_03_2016, 
02_01_2016, 
02_06_2016... 

Как я могу сортировать по месяцам?

+0

Так что для меня это выглядит, как у вас есть список строк (содержащая отформатированные даты). В этом случае вам может потребоваться создать настраиваемый фильтр, выполняющий заказы для вас. Он может принимать строковые данные и преобразовывать их в число, которое можно сравнить с помощью операторов сравнения по умолчанию. - здесь вы можете прочитать о создании фильтра: https://docs.angularjs.org/api/ng/filter/filter – Tobi

+0

Интегрированное решение должно распознавать в приложении '20_12_2016' как дату, поэтому это будет возможно для его форматирования. Не знаю, как для атм. – Mistalis

+0

Проведите некоторое исследование того, как анализировать даты в JavaScript (или работать с системой, предоставляющей данные для датирования в стандартном формате, например, ISO 8601): http://stackoverflow.com/q/2587345/215552 и как сортировать по ним в угловом: http://stackoverflow.com/q/35402478/215552 –

ответ

0

вы можете попробовать, как

var app = angular.module("myApp", []); 
    app.controller("myCtrl", function($scope,$compile) { 

    $scope.sortByDate = function(date) { 
     var b = date.split('_').map(Number); 
     return b 
    } 
}) 




<div ng-repeat="dateobj in ['20_11_2016','25_11_2016','10_11_2016'] | orderBy:getlastname" >{{dateobj}}</div> 
Смежные вопросы