表排序时我需要将日期转换为字符串

时间:2018-01-24 04:11:36

标签: angularjs

我试图启用表格排序。如果我点击empid并命名我能够实现排序,但是当我点击Doj时,由于字符串类型doj,我无法实现排序。

不知何故,如果我将doj转换为日期,那么我也可以实现日期排序。

我如何实现日期排序?

对于表格排序,我在控制器中编写了这样的逻辑

$scope.sortColumn = "empId";
$scope.reverseSort = false;

$scope.orderByField = function(column){
    $scope.reverseSort = ($scope.sortColumn == column) ? !$scope.reverseSort : false;
    $scope.sortColumn = column;
}
$scope.sortByField = function(column){
    if($scope.sortColumn == column){
        return $scope.reverseSort ? 'arrow-down' : 'arrow-up'
    }
    return '';
}

<th ng-click="orderByField('doj')">Date Of joining<div ng-class="sortByField('doj')"></div></th>
   <tr ng-repeat="emp in employeeList | orderBy: sortColumn: reverseSort">

我正在迭代记录列表。记录列表如下:

  • EMPID
  • ENAME
  • doj(加入日期,我从后端获取字符串)

1 个答案:

答案 0 :(得分:0)

使用此简单逻辑

 array.sort(function(a,b){
  // Turn your strings into dates, and then subtract them
  // to get a value that is either negative, positive, or zero.
  return new Date(b.date) - new Date(a.date);
});