使用toISOString()获取ng-repeat中的epoch日期

Use toISOString() for epoch dates in an ng-repeat

本文关键字:中的 epoch 日期 ng-repeat 获取 toISOString 使用      更新时间:2023-09-26

如标题所示,我有一个表,其中一列是epoch日期。我试图使用内置的javascript 'toISOString() '来翻译它,但无法弄清楚如何做到这一点。有没有一种方法可以在填充表的同时在飞行中做到这一点?

这是我正在使用的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过滤器

日期过滤器文档

见下面的代码。

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>