2017-04-11 21 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"; 
    } 
    } 
});