У меня есть сценарий, что страница отображает возраст пользователя (30) в конкретную дату (пример, 09/10/2015). Теперь, когда вы выбираете новую дату, я должен предварительно заполнить поле нового возраста бизнес-логикой, когда новая дата больше 6 месяцев/182 дня (пример 03/11/2016) с указанной даты, тогда возраст должен быть +1 (пример возраст будет 31).Получите новый возраст на определенную дату через jQuery/javascript
Я знаю, что мы можем достичь этого, выполнив следующий код. Но я ищу оптимальный способ получения нового возраста при выборе новой даты.
var newDate = $("#NewDate").val();
if (newDate != null && newDate != '') {
var currDCD = new Date($("#CurrentDate").val());
var newDCD = new Date(newDate);
var yearsDiff = newDCD.getFullYear() - currDCD.getFullYear();
var day = 1000 * 60 * 60 * 24;
//Get last years days difference
var daysDiff = Math.floor((newDCD.setFullYear(currDCD.getFullYear() + (yearsDiff - 1)) - currDCD)/day);
var currAge = parseInt($("#CurrentAge").val());
//Set new owner age
$("#NewAge").val(currAge + (daysDiff > 182 ? yearsDiff : yearsDiff-1));
}
Вы пробовали что-то похожее на это? var newDate = new Date ($ ("# NewDate"). val()); var sixMonthsFromNow = new Date (newDate .setMonth (newDate .getMonth() - 6)); то просто сравните две даты. Кредит отправляется на это сообщение: http://stackoverflow.com/questions/23883749/get-last-6-months-from-in-jquery – NKD
Это проверка на шесть месяцев, но мое требование является динамическим и требует установки новый возраст, основанный на разнице в годах, а затем на разнице между месяцами или днями в прошлом году. Поскольку мы не можем установить новый возраст +1 на дату 01/10/2016, когда мой текущий возраст составляет 30 в 12/31/2015. –
Вы можете использовать momentJS, в любое время, когда я приближаюсь к дате времени в JS. Я пользуюсь этой библиотекой http://momentjs.com/ – bUKaneer