NG2 момент amTimeAgo для 3 дня

Я использую момент js для преобразования даты в моем проекте со структурой угловых Js 2. Здесь я использую трубу amTimeAgo для преобразования метки времени в дату, и она работает правильно (например, 10 секунд назад, 1 день назад и 5 дней эго и т. Д...). Здесь мое требование заключается в том, что если текущая дата превышает 3 дня после публикации, мне нужно показывать такую ​​дату, как (7-04-2017) вместо (4 дня назад). Каков наилучший способ сделать это?

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

1 ответ

Момент ng2 использует моменты, чтобы показать относительное время, так что вы можете настроить amTimeAgo вывод с использованием relativeTime,

В вашем случае вы можете использовать следующий код на этапе настройки:

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";
    }
  }
});
Другие вопросы по тегам