我在控制面板上显示上次登录时间。如何显示这样的日期时间:
1 hour ago,
5 hours ago
答案 0 :(得分:2)
Moment.js绝对是一个很好的方法。我为你设置了一个Plunkr,它展示了你如何做到这一点的基本例子。
http://plnkr.co/edit/64mfpDhUxdXcQo6r8Xrf?p=preview
总结一下,您可以使用.fromNow()
方法显示日期与当前时间之间的差异:
$scope.difference = moment($scope.yourDate).fromNow();
如果$scope.yourDate
是1小时前,$scope.difference
将设置为an hour ago
。
修改强>
根据您的评论,我更新了Plunker以使用您提供的日期。
$scope.yourDate = new Date('2015-07-08T14:02:42.973');
$scope.difference = moment($scope.yourDate).fromNow();
在撰写本文时,这会将$scope.difference
设置为20 hours ago
。
答案 1 :(得分:0)
您可以使用angular-timeago来实现。
安装该软件包后,您需要按照以下说明在angular.module
中引用它。
var app = angular.module('ngApp', ['yaru22.angular-timeago']);
然后,您可以使用内联管道将任何日期值转换为“ ago”字符串 例如
{{myDate | timeAgo}}
答案 2 :(得分:0)
要实现此目的,请使用一个简单的软件包ngx-pretty-date,该软件包提供了一个简单的日期管道。
安装软件包后,只需将其导入app.modules.ts
import { NgxPrettyDateModule } from 'ngx-pretty-date';
@NgModule({
declarations: [
...
],
imports: [
...
NgxPrettyDateModule
],
bootstrap: [...]
})
export class AppModule { }
然后在组件中使用它
<span> {{dateObj | prettyDate}} </span>