JS Check Date is Within 6 Months of Today

by TheOrdinaryGeek

HTML

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/js/bootstrap-datepicker.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0/css/bootstrap.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/css/bootstrap-datepicker.css">
<input type="text" class="form-control" id="datepicker" placeholder="Year Graduated" value="" data-date-format="dd/mm/yyyy" data-date-end-date="0d">
<p id="rate"></p>

JavaScript

function compareDate() {
    // get date from datepicker
    var dateEntered = $("#datepicker").datepicker("getDate");
    dateEntered = new Date(dateEntered).getTime();
    //  alert("date entered: " + dateEntered);
    // set todays date
    var now = new Date();
    // set date six months before today
    //var sixMonthBeforeNow = new Date(now).setTime(now.getTime() - 3 * 28 * 24 * 60 * 60);
    var sixMonthBeforeNow = new Date(now).setMonth(now.getMonth() - 6);
    // alert("six months before: " + sixMonthBeforeNow);
    // if date entered is within six months from today
    if (dateEntered > sixMonthBeforeNow) {
      alert("You qualify for the discount rate.");
      $("#rate").html('discount rate');
    }
    // if date entered is over six months from today
    if (dateEntered < sixMonthBeforeNow) {
      alert("you graduated more than six months ago");
      $("#rate").html('no discount');
    }
  }

  $("#datepicker").datepicker({
    weekStart: 1,
    daysOfWeekHighlighted: "6,0",
    autoclose: true,
    todayHighlight: true
  });

  $("#datepicker").change(function() {
    compareDate();
  });