File

C:/GoDev/src/TCSTK-Angular/projects/tibco-tcstk/tc-core-lib/src/lib/pipes/duration-since.pipe.ts

Metadata

Name durationSince

Methods

transform
transform(value: string, args?: any)
Parameters :
Name Type Optional
value string No
args any Yes
Returns : any
import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'durationSince'
})
export class DurationSincePipe implements PipeTransform {

  transform(value: string, args?: any): any {
    const seconds: number = Math.floor((+new Date() - +new Date(value)) / 1000);
    let interval: number = Math.floor(seconds / 31536000);
    // years
    if (interval >= 1) {
      if (interval === 1) {
        return interval + ' year ago';
      } else {
        return interval + ' years ago';
      }
    }
    // months
    interval = Math.floor(seconds / 2592000);
    if (interval >= 1) {
      if (interval === 1) {
        return interval + ' month ago';
      } else {
        return interval + ' months ago';
      }
    }
    // weeks
    interval = Math.floor(seconds / 604800);
    if (interval >= 1) {
      if (interval === 1) {
        return interval + ' week ago';
      } else {
        return interval + ' weeks ago';
      }
    }
    // days
    interval = Math.floor(seconds / 86400);
    if (interval >= 1) {
      if (interval === 1) {
        return ' yesterday';
      } else {
        return interval + ' days ago';
      }
    }
    // hours
    interval = Math.floor(seconds / 3600);
    if (interval >= 1) {
      if (interval === 1) {
        return interval + ' hour ago';
      } else {
        return interval + ' hours ago';
      }
    }
    // minutes
    interval = Math.floor(seconds / 60);
    if (interval >= 1) {
      if (interval === 1) {
        return interval + ' minute ago';
      } else {
        return interval + ' minutes ago';
      }
    }

    return 'Just now';
  }

}

result-matching ""

    No results matching ""