Как посчитать количество месяцев между сегодняшним днем и введенным в поле ввода вклю
Всем привет!
Есть задачка где нужно посчитать количество месяцев между сегодняшним днем и введенным в поле ввода (учитываются только будущие даты) включая текущий. Т.е. будь сегодня 1 или 31 июля считается за месяц, только если не введенная дата совпадает с текущим месяцем - тогда 0. Проблема в том, что библиотека moment.js считает только за месяц, если введенный день месяца позже текущего, т.е. полноценные месяцы. Мне же нужно учитывать и неполные месяцы. https://jsfiddle.net/9vqkr6u0/ |
|
<input type="date"> <script> document.querySelector('input').addEventListener('change', function(e) { var today = new Date(), testDate = new Date(this.value), todayMonth = today.getMonth(), testMonth = testDate.getMonth(), todayYear = today.getFullYear(), testYear = testDate.getFullYear(); alert(testMonth - todayMonth + (testYear - todayYear) * 12); }); </script> Не совсем понял рассуждения насчет текущего... |
Цитата:
текущего - это в смысле, если сейчас июнь месяц и задаем в поле тоже июнь, то месяц не учитывается. У вас все правильно, при таком раскладе 0 показывает |
Часовой пояс GMT +3, время: 18:42. |