Как посчитать количество месяцев между сегодняшним днем и введенным в поле ввода вклю
Всем привет!
Есть задачка где нужно посчитать количество месяцев между сегодняшним днем и введенным в поле ввода (учитываются только будущие даты) включая текущий. Т.е. будь сегодня 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, время: 09:47. |