1

即使我将angularMoment模块添加到我的 app.js

var app = angular.module('myreddit', ['ionic', 'angularMoment']);

我也从index.html

<script src="lib/moment/moment.js"></script>
<script src="lib/moment/locale/en-gb.js"></script>
<script src="lib/angular-moment/angular-moment.js"></script>

我想通过将 this: 传递{{story.created_utc}}给 a来显示指令时间m-time-ago,但问题是即使传递的值不同,它也不会返回不同的值。

传递的值:

传递值 1

传递值 2

返回值:

返回 1

返回 2

4

2 回答 2

1

moment.js 可以在 Date 构造函数中使用秒或毫秒,但毫秒是默认值。你过了几秒钟。因此,您可以乘以 1000,或者使用 moment.unix(timestamp) 而不是 moment(timestamp)

在 Angular 中,这将类似于:

<span am-time-ago="message.unixTime | amFromUnix">
于 2017-03-20T23:03:50.947 回答
1

在您的情况下,您可以使用amFromUnix以下过滤器:

将 unix 时间戳(自 1970 年 1 月 1 日以来的秒数)转换为时刻对象。

这是一个工作示例:

angular.module('MyApp',['angularMoment'])
.controller('AppCtrl', function($scope) {
  $scope.story = {};
  $scope.story.created_utc = 1490029481;
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.9/angular.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-moment/1.0.1/angular-moment.min.js"></script>

<div ng-app="MyApp" ng-controller="AppCtrl">
  <span am-time-ago="story.created_utc | amFromUnix"></span>
</div>

于 2017-03-20T23:11:20.743 回答