javascriptangulartypescriptdateangular8

Difference between two dates in Days using angular


In my application I am getting message sent date from API response, I want to calculate the difference between current date and the date from API response in days(difference) using angular 8 and map in ngFor.

https://stackblitz.com/edit/angular-xv1twv?file=src%2Fapp%2Fapp.component.html

Please help me. Should I use moment.


Solution

  • If this is all you need you can add plain code. For example:

    calculateDiff(dateSent){
        let currentDate = new Date();
        dateSent = new Date(dateSent);
    
        return Math.floor((Date.UTC(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()) - Date.UTC(dateSent.getFullYear(), dateSent.getMonth(), dateSent.getDate()) ) /(1000 * 60 * 60 * 24));
    }
    

    You need to update your HTML to send the right date.

    Example: https://stackblitz.com/edit/angular-bf5qer?file=src/app/app.component.ts

    The code is adapted from https://www.w3resource.com/javascript-exercises/javascript-date-exercise-8.php and may require a few tests.