在AngularJS插值中将时间戳转换为日期格式

时间:2018-03-21 13:45:03

标签: javascript angularjs momentjs interpolation

有时间戳,例如1519357500,是否可以将此格式发送到html并将其转换为插值内的日期格式?

我试过这样做,但它不起作用:

{{moment($ctrl.myTimestamp).format('MMMM Do YYYY, h:mm:ss a')}}

2 个答案:

答案 0 :(得分:2)

是的,很容易。

{{$ctrl.myTimestamp | date:'MMMM d y, h:mm:ss a'}}

(这假定$ ctrl.myTimestamp包含纪元毫秒)

如果您有直到纪元的秒数​​,请执行以下操作:

{{$ctrl.myTimestamp * 1000 | date:'MMMM d y, h:mm:ss a'}}

更多信息here.

答案 1 :(得分:0)

我就是这样做的。

PS。我只是使用没有依赖(moment)。因为我从来没有用过它。所以这就是你如何实现这一目标的。

var app = angular.module('test-app', []);
app.controller('testCtrl', function($scope){

$scope.timestamp = "1519357500";
var date = new Date($scope.timestamp * 1000);
var datevalues = ('0' + date.getDate()).slice(-2) + '-' + ('0' + (date.getMonth() + 1)).slice(-2) + '-' + date.getFullYear() + ' ' + date.getHours() + ':' + date.getMinutes();
$scope.timestamp = datevalues;
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="test-app" ng-controller="testCtrl">
 {{timestamp}}
</div>