我试图订购' date'与ng-repeat一起但我的日期格式为" date":" Sun,2016年9月1日08:47:53 -0400"。我尝试使用momentjs,但我得到了一个错误的列表。
请问我如何按日期订购
http://codepen.io/netwrkx/pen/WGbwgY?editors=101
<tr ng-repeat="expense in expenses | orderBy:'date'">
<td>{{expense.name}}</td>
<td>{{expense.amount}}</td>
<td>{{expense.date | amTimeAgo}} </td>
</tr>
答案 0 :(得分:2)
您可以创建自定义过滤器dateOrder
,为过滤器提供输入。
JS:
.filter('dateOrder',function(){
return function(data){
angular.forEach(data,function(val,key){
val.dateTimestamp = new Date(val.date).getTime()
});
return data;
}
});
将您的html定义为:
<tr ng-repeat="expense in expenses | dateOrder |orderBy :'dateTimestamp'">
这是工作codepen
答案 1 :(得分:1)
<tr ng-repeat="expense in expenses | orderBy:compareDateFunc">
和
$scope.compareDateFunc = function(dt) {
return new Date(dt.date);
}