Count Down pipe in angular 2+



import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'countdown'
})
export class CountdownPipe implements PipeTransform {

  transform(value: any, dd: number, hh: number, mm: number): any {
    setInterval(()=>{

      return this.counterOwn(value, dd, hh, mm);
    },1000)
  }

  counterOwn(value: any, dd: number, hh: number, mm: number){
    var timeCountDown: any;


    var d = new Date(value);
    var v = new Date(value);
    var addonMint = (dd * 1440) + (hh * 60) + mm;
    v.setMinutes(d.getMinutes() + addonMint);
    var newdateget = v.getDay() + "/" + v.getMonth() + "/" + v.getFullYear() + " " + v.getHours() + ":" + v.getMinutes();


    // var dateFuture = new Date(new Date("05/07/2019 10:41 am").getFullYear() + 1, 0, 1);
    var dateFuture: any = v;
    var dateNow: any = new Date();

    var seconds: number = Math.floor((dateFuture - (dateNow)) / 1000);
    var minutes: number = Math.floor(seconds / 60);
    var hours = Math.floor(minutes / 60);
    var days = Math.floor(hours / 24);

    hours = hours - (days * 24);
    minutes = minutes - (days * 24 * 60) - (hours * 60);
    seconds = seconds - (days * 24 * 60 * 60) - (hours * 60 * 60) - (minutes * 60);
    console.log(days + " " + hours + " : " + minutes + " : " + seconds);
    timeCountDown = days + " " + hours + " : " + minutes + " : " + seconds;

    return timeCountDown;
  }
}

Comments