ng2时刻amTimeAgo为3天

时间:2017-04-11 07:23:29

标签: angular momentjs angular-moment

在我的项目中使用时刻js进行日期转换,使用角度Js 2的框架。这里使用 amTimeAgo 管道将时间戳转换为日期并且它正常工作(例如,10秒前, 1天前和5天ego等...)。在这里,我的要求是,如果当前日期大于帖子的3天,我需要显示日期,如(7-04-2017)而不是(4天前)。这样做的最佳方式是什么?

<span>{{ideaListObj.cDate | amTimeAgo:true }} </span>

1 个答案:

答案 0 :(得分:0)

ng2时刻使用momentjs来显示相对时间,因此您可以使用relativeTime自定义amTimeAgo输出。

在您的情况下,您可以在配置阶段使用以下代码:

moment.updateLocale('en', {
  relativeTime : {
    future: function (number, withoutSuffix, key, isFuture){
      if( moment(number, 'D-MM-YYYY', true).isValid() ){
        return number;
      }
      return "in " + number;
    },
    past: function (number, withoutSuffix, key, isFuture){
      if( moment(number, 'D-MM-YYYY', true).isValid() ){
        return number;
      }
      return number + " ago";
    },
    dd: function (number, withoutSuffix, key, isFuture){
      if( number >= 3 ){
        return moment().subtract(number, 'd').format('D-MM-YYYY');
      }
      return "%d days";
    }
  }
});