显示日期时间,如1小时前,5小时前 - Angularjs

时间:2015-07-08 09:00:57

标签: angularjs

我在控制面板上显示上次登录时间。如何显示这样的日期时间:

1 hour ago, 
5 hours ago

3 个答案:

答案 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>