Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.06.2019, 12:22
Профессор
Отправить личное сообщение для giwuf Посмотреть профиль Найти все сообщения от giwuf
 
Регистрация: 16.05.2017
Сообщений: 163

Как посчитать количество месяцев между сегодняшним днем и введенным в поле ввода вклю
Всем привет!

Есть задачка где нужно посчитать количество месяцев между сегодняшним днем и введенным в поле ввода (учитываются только будущие даты) включая текущий.

Т.е. будь сегодня 1 или 31 июля считается за месяц, только если не введенная дата совпадает с текущим месяцем - тогда 0.
Проблема в том, что библиотека moment.js считает только за месяц, если введенный день месяца позже текущего, т.е. полноценные месяцы. Мне же нужно учитывать и неполные месяцы.

https://jsfiddle.net/9vqkr6u0/
Ответить с цитированием
  #2 (permalink)  
Старый 18.06.2019, 12:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

giwuf,
https://javascript.ru/forum/misc/128...html#post77642
Ответить с цитированием
  #3 (permalink)  
Старый 18.06.2019, 13:14
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

<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>

Не совсем понял рассуждения насчет текущего...

Последний раз редактировалось Dilettante_Pro, 18.06.2019 в 13:16.
Ответить с цитированием
  #4 (permalink)  
Старый 18.06.2019, 15:02
Профессор
Отправить личное сообщение для giwuf Посмотреть профиль Найти все сообщения от giwuf
 
Регистрация: 16.05.2017
Сообщений: 163

Сообщение от Dilettante_Pro Посмотреть сообщение
[HTML run]<input type="date">
Не совсем понял рассуждения насчет текущего...
Dilettante_Pro, да, спасибо большое, все так!
текущего - это в смысле, если сейчас июнь месяц и задаем в поле тоже июнь, то месяц не учитывается. У вас все правильно, при таком раскладе 0 показывает
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Select2 как вместо placeholder показать сразу поле ввода Telnet jQuery 2 08.05.2018 14:08
Как сделать поле input доступным для ввода? mikefromru Events/DOM/Window 4 05.03.2017 09:54
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как ввести в поле ввода значение где есть javascript MOZG Общие вопросы Javascript 8 19.04.2013 10:28
Как отследить пропал ли текст placeholder-а при фокусе на поле ввода z1987 Общие вопросы Javascript 2 19.12.2012 11:10