我有table
object's
创建时间戳我要将此时间戳转换为
ngRepeat
将其呈现为table
之前的可读格式。
我编写了一个函数getDate
来执行此转换,但我找不到调用方法
function
ngRepeat
HTML
<body ng-controller='websitesCtrl'>
<table >
<th>Site name</th>
<th>Creation date</th>
<tr ng-repeat="website in websites">
<td>
<a href="/websites/{{website.id}}">{{website.name}}</a>
</td>
<td>
<div>{{website.created}}</div>
</td>
</tr>
</table>
<h3>example of the working time convertion:</h3>
</div>{{date}}<div>
角
//controllers
webApp.controller ('websitesCtrl', function ($scope, Websites) {
$scope.websites = Websites.get();
$scope.date = Websites.getDate( $scope.websites[0].created);
});
//services
webApp.factory('Websites', function(){
var websites = {};
websites.get = function() {
return [{
id: '1',
created: 1391581344623,
updated: '222212',
name: 'google.com',
secretKey: 'dhsd#22%$',
publicKey: '234233@@@',
userIdentification:'COOKIES'
},
{
id: '2',
created: 1392585542545,
updated: '444412',
name: 'walla.com',
secretKey: 'dhsd#22%$',
publicKey: '234233@@@',
userIdentification:'NONE-COOKIES'
},
{
id: '3',
created: 1393564362663,
updated: '444412',
name: 'Umms.com',
secretKey: 'dhsd#22%$',
publicKey: '234233@@@',
userIdentification:'NONE-COOKIES'
}
]
};
//getDate returns accurate date
websites.getDate = function(timeStamp) {
var monthNames = ["JANUARY", "FEBRUARY", "MARCH", "APRIL",
"MAY", "JUNE", "JULY", "AUGUST",
"SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER"];
var date = new Date(timeStamp);
// month part from the timestamp
var month = date.getMonth();
// day part from the timestamp
var day = date.getDate();
// year part from the timestamp
var year = date.getFullYear();
// will return date in MAY 2, 2013 format
return monthNames[month] + ' ' + day + ',' + year;
};
return websites;
});
答案 0 :(得分:5)
您应该使用date filter。它已经内置了AngularJS,不要重新发明轮子。
<div>{{website.created | date}}</div>
这是plnkr的回复。您可能想要更改日期格式。