Javascript Angular JS-在ng repeat表上按输入日期订购,仅按月份和日期订购,不按年份订购
我有一个重复语句,我需要按日期字段(entry_date)排序。 到目前为止,它仅使用以下代码按月份和日期进行订购:Javascript Angular JS-在ng repeat表上按输入日期订购,仅按月份和日期订购,不按年份订购,javascript,angularjs,Javascript,Angularjs,我有一个重复语句,我需要按日期字段(entry_date)排序。 到目前为止,它仅使用以下代码按月份和日期进行订购: <tbody ng-repeat="transaction in transactions | orderBy:'-entry_date'"> <tr> <td>
<tbody ng-repeat="transaction in transactions | orderBy:'-entry_date'">
<tr>
<td>
<input ng-model="transaction.selected" type="checkbox"/>
</td>
<td>
<span>{{ transaction.entry_date | date:'yyyy-MM-dd HH:mm' }}</span>
</td>
<td>
<span>{{ transaction.description }}</span>
</td>
</tr>
</tbody>
</table>
这是最后一页:
2017-02-12 01:00
2017-02-12 01:00
2017-02-12 01:00
2017-02-12 01:00
2017-02-11 01:00
我还尝试过使用回调函数:
$scope.sortDates = function(transaction) {
var date = new Date(transaction.entry_date);
return date;
};
但这只是以与我的原始代码相同的方式返回数据
有没有办法让过滤器使用年份和月份/日期
提前谢谢 实际上,我认为您需要返回一个整数,如果整数为正,则第一个元素比第二个元素大
如果为负,则小于第二个值,如果整数等于零,则两者都相同。
您可以使用矩来获取两个日期的unix时间戳,并将其减去。
类似于
function(a, b){
return moment(a).unix() - moment(b).unix();
}
我没有测试代码。实际上,我认为您需要返回一个整数,如果整数为正,则第一个元素大于第二个元素
如果为负,则小于第二个值,如果整数等于零,则两者都相同。
您可以使用矩来获取两个日期的unix时间戳,并将其减去。
类似于
function(a, b){
return moment(a).unix() - moment(b).unix();
}
我还没有测试代码。您可以在angularJS orderBy中使用回调(函数),我建议使用矩JS来比较和排序日期。我尝试了这个方法,得到了相同的结果:$scope.sortDates=function(transaction){var date=new date(transaction.entry_date);return date;};您可以在angularJS orderBy中使用回调(函数),我建议使用矩JS来比较和排序日期。我尝试了这个方法,得到了相同的结果:$scope.sortDates=function(transaction){var date=new date(transaction.entry_date);return date;};谢谢你的帮助,我在没有时间的情况下尝试了类似的东西,但没有成功。刚刚尝试过,但不幸的是,它仍然没有按年份排序。日期的所有其他部分按天、月、时间排序。只是不是一年。你是想按日期的每一部分对它们进行排序吗?在这种情况下,您需要在对日期进行排序之前对日期进行拆分。尝试按年份、月份和日期进行排序。我有6页的数据,最后一页是我在第一页期望的数据。第一页是我希望在最后一页得到的数据,然后你需要按子代顺序排序。查看此链接谢谢您的帮助,我曾经尝试过类似的方法,但没有立即成功。刚刚尝试过,但不幸的是,它仍然没有按年份排序。日期的所有其他部分按天、月、时间排序。只是不是一年。你是想按日期的每一部分对它们进行排序吗?在这种情况下,您需要在对日期进行排序之前对日期进行拆分。尝试按年份、月份和日期进行排序。我有6页的数据,最后一页是我在第一页期望的数据。第一页是我希望在最后一页得到的数据,然后你需要按子代顺序排序。检查此链接