Slim Slim - 2 months ago 5
Javascript Question

How to get the months between 2 dates

I'm using jquery

datepicker
in order to get 2 dates. In my case I have to get the date in this format
d-M-y
. I'm using it in order to be able to insert the values into an
oracle
database without any formating. The problem is that I need to calculate the months between 2 dates. For example:
1-Oct-13
-
30-Oct-16
.

Here is how I'm getting the dates in my js:

LastAssimDatePicker = (function() {
$( "#lastAssimilationDate" ).datepicker({
yearRange: "-20:+100",
changeMonth: true,
changeYear: true,
dateFormat: "d-M-y"
});
}),

LastAssimDateOverPicker = (function() {
$( "#lastAssimilationDateOver" ).datepicker({
yearRange: "-20:+100",
changeMonth: true,
changeYear: true,
dateFormat: "d-M-y"
});
}),


The above dates are assigned to
2 variables
-
lastAssimilationDate
and
LastAssimDateOver


The problem is that I really can't find a way to calculate the months between the 2 dates and I already lost about 2 hours on it. I'm pretty sure that there will be an easy solution, but as a beginner, I'm not able to spot it. I know that there are simmilar topics here, but I can't get it working, or it does not fit on my issue.

Answer

Since you mentioned that you are not supposed to change the format I have a solution for you.

With the help of @T.J. Crowder's Answer, I done this

d1 = new Date($( "#lastAssimilationDate" ).val());
d2 = new Date($( "#lastAssimilationDateOver").val());
alert(monthDiff(d1, d2));

Check this JSFiddle

Not sure Nan is popping, but I am able to see difference.

enter image description here