orderBy对日期进行排序,但是几个月是假的

时间:2017-03-22 12:28:58

标签: javascript angularjs ionic-framework

我尝试使用以下ng-repeat选项

订购我的数据
ng-repeat="date in dateList | orderBy:'dateObject':false"

每个dateObject都包含一个具有相应日期的新Date对象。

我的输出正好在第一眼:

22-03-2017
23-03-2017
24-03-2017
Etc.

当我将下个月的更多日期添加到此列表中时,我得到了奇怪的行为:

01-04-2017
02-04-2017
03-04-2017
04-04-2017
22-03-2017
23-03-2017
Etc.

我不知道为什么月份的分类与日期不同......

1 个答案:

答案 0 :(得分:0)

您可以在控制器中对其进行排序,使用过滤器获取可按字母顺序排序的格式。

$filter('date')(date.dateObject, 'yyyy-MM-dd')

或者在自定义排序功能中使用它

$scope.myValueFunction = function(date) {
   return $filter('date')(date.dateObject, 'yyyy-MM-dd')
};

然后在你的html

上使用它
ng-repeat="date in dateList | orderBy: myValueFunction"