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