Я бы рекомендовал создать два Javascript Дата объектов из этих двух дат. Это можно сделать, указав год, месяц и, наконец, день для конструктора объекта Date.
например,
var startDate = new Date(2019, 1, 16); // January the 16th
var endDate = new Date(2019, 3, 30); // March the 30th
Используя функцию .getTime()
объекта Date, который вы может получить количество миллисекунд, прошедших с 1.1.1970. Если вы вычислите разницу между этими двумя числами, оберните ее внутри Math.abs()
и разделите это число на 1000
, 60
, 60
и, наконец, 24
, вы получите количество дней. Если это число больше ~ 120, диапазон составляет более четырех месяцев.
console.log(Math.abs(startDate.getTime() - endDate.getTime()) / 1000/60/60/24);
В вашем случае объект Date может быть установлен следующим образом:
var startDate = new Date(parseInt($('#from_date_year').val()), parseInt($('#from_date_month').val()), parseInt($('#from_date_day').val()));