如标题所示,我有一个表,其中的一列是一个纪元日期。我正在尝试使用内置于'toISOString()`中的javascript来翻译它,但无法弄清楚该怎么做。填充桌子时,有没有一种即时的方法?

这是我正在使用的js:

angular.module('myapp', [])
  .controller('MainCtrl', function($scope, $http, $filter, $interval) {

    var orderBy = $filter('orderBy');
    $scope.savedOrder = 'name';
    $scope.searchText = ''

    //first http request-----------------------------------
    $http.get('xxxxxxxxxxxxxx').success(function(data) {
      $scope.recentalerts = data;
      $scope.tempdata = data;
      $scope.order('-epochtime');
    });

    $scope.reverse = true;

    //beginning of interval--------------------------------
    $interval(function() {
      $http.get('xxxxxxxxxxxxx').success(function(data) {
        if (!angular.equals(data, $scope.tempdata)) {
          console.log("here...");

          ...

          $scope.tempdata = data;

        } //end if

      });
    }, 5000);


    $scope.order = function(predicate) {
      $scope.reverse = !$scope.reverse;
      $scope.recentalerts = orderBy($scope.recentalerts, predicate, $scope.reverse);
      $scope.savedOrder = predicate;
    };

  });


这是表格主体:

  <tbody>
    <tr data-ng-repeat="alert in recentalerts | orderBy:savedOrder:reverse | filter:searchText">
      <td ng-click="search(alert.epochtime)">{{alert.epochtime}}</td>
      <td ng-click="search(alert.ip)">{{alert.ip}}</td>
      <td ng-click="search(alert.type)">{{alert.type}}</td>
      <td ng-click="search(alert.classification)">{{alert.classification}}</td>
    </tr>
  </tbody>


我尝试了{{alert.epochtime.toISOString()}},但是没有用。我想在执行toISOString()之前它必须是一个日期对象,但是有没有办法在ng-repeat内部执行此操作?

最佳答案

您可以使用date过滤器

Date Filter Docs

请参见下面的代码。



angular.module('myapp', [])
  .controller('MainCtrl', function($scope) {
    // this will return epoch date
    $scope.epochtime = (new Date).getTime();
  });

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myapp">
  <div ng-controller="MainCtrl">
    <div>{{epochtime}}</div>
    <div>{{epochtime | date:'yyyy-MM-dd HH:mm:ss Z'}}</div>
  </div>
</div>

07-28 11:35