javascript - 使用 toISOString() 获取 ng-repeat 中的纪元日期

标签 javascript jquery angularjs

正如标题所示,我有一个表,其中一列是纪元日期。我正在尝试使用 '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 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>

关于javascript - 使用 toISOString() 获取 ng-repeat 中的纪元日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30355496/

相关文章:

javascript - 有没有办法使用 jQuery 或 Javascript 强制在 Firefox 中打开页面?

javascript - IE8 javascript 检测为 IE7

javascript - 将第一个字符大写的正则表达式

javascript - 响应式 JavaScript

javascript - 三个下拉菜单相互响应

javascript - bootstrap 的不稳定问题 -> 仅在大屏幕上行宽度不一致

javascript - 轮播在最后一张幻灯片后停止并且不循环

javascript - 我如何在没有表格第一列的情况下打印报告

javascript - 将模型传递给自定义 Angular Directive(指令)进行验证

javascript - Angular Google map 信息窗口 HTML