1

Im using this code to check if an entered date is valid and is present (not future)

IsDate(mydate: string): boolean {
      var isdate = Date.parse(mydate);
      if (isNaN(isdate)) {
        return false;
      }
  
      var EnteredDate = new Date(isdate)
      var TodayIs = new Date()
      if (EnteredDate > TodayIs) {
        return false;
      }
      return true;
    }

But now I need to return false if the entered date is above 100 years of the current date. Is there a function or a way to get the years between two dates?

I tried to use a javascript function with no luck from this link:

 https://stackoverflow.com/questions/8152426/how-can-i-calculate-the-number-of-years-between-two-dates
Danielle
  • 1,386
  • 8
  • 22

2 Answers2

3

// To calculate the time difference of one past date and today

var Difference_In_Time = EnteredDate.getTime() - new Date().getTime();

// To calculate the no. of days between two dates

var Difference_In_Days = Difference_In_Time / (1000 * 3600 * 24);

  • var Difference_In_Time = EnteredDate.getTime() - new Date().getTime(); var Difference_In_Days = ((Difference_In_Time / (1000 * 3600 * 24))/365)*(-1); – Danielle Jan 12 '21 at 21:41
1

You can use the Date.getFullYear() method and the regular arithmetic operators to check if the entered date is more than 100 years after the current year.

IsDate(mydate: string): boolean {
    var isdate = Date.parse(mydate);
    if (isNaN(isdate)) {
        return false;
    }

    var EnteredDate = new Date(isdate);
    var TodayIs = new Date();
    if (EnteredDate.getFullYear() > TodayIs.getFullYear() + 100) {
        return false;
    }
    return true;
}
D M
  • 5,769
  • 4
  • 12
  • 27