2017-04-11 35 views
1

上午在我的项目中使用了js进行日期转换,使用了角度Js 2的框架。这里我使用了amTimeAgo pipe将时间戳转换为日期并且它可以正常工作(例如,10秒前, 1天前和5天自我等)。在这里,我的要求是,如果当前日期大于3天的帖子,我需要显示日期,例如(7-04-2017)而不是(4天前)。做这个的最好方式是什么?ng2 moment amTimeAgo for 3days

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

最好的方法是创建一个自定义管道,将检查你所期望的日期和输出。 – n00dl3

+0

写一个pipe.then(发布代码) –

回答

0

NG2时刻使用momentjs显示相对时间,这样你就可以使用relativeTimeamTimeAgo输出定制。

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

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"; 
    } 
    } 
});