У меня есть форма с выбором даты, которая проверяет, не старше ли выбранная дата более 4 месяцев. Но мой сценарий сейчас не работает из-за нового года (2018).
if ((today.getMonth() + 11) - (date.getMonth() + 11) > 4) {
console.log("test");
}
Это не проверяет для месяцев 2017 года. Я не могу найти решение, чтобы исправить это, кто-нибудь знает, как это исправить?
1
can
2 Янв 2018 в 13:10
2 ответа
Лучший ответ
if(today - date > 1000/*ms*/ * 60/*s*/ * 60/*min*/ * 24/*h*/ * 30/*days*/ * 3/*months*/)
alert("to old!");
Альтернативно:
const fourMonthsAgo = new Date();
fourMonthsAgo.setMonth(fourMonthsAgo.getMonth() - 4);
if(+fourMonthsAgo > +date)
alert("to old");
4
Jonas Wilms
2 Янв 2018 в 10:14
Просто сравните вот так;
var diff =(today.getTime() - date.getTime()) / 1000;
diff = diff / (60 * 60 * 24 * 10 * 3);
var diffMonths = Math.abs(Math.round(diff));
if(diffMonths > 4)
{
var $errordate = $( "<div id='error-field' class='error-field'><p>Error text</p></div>" );
$("#divContainer").append($errordate);
$('#nextButton').prop('disabled', true);
}
1
lucky
2 Янв 2018 в 10:30
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.