我有一个带有日期选择器的表单,用于检查所选日期是否不超过4个月。但由于新的一年(2018年),我的剧本现在不起作用。
if ((today.getMonth() + 11) - (date.getMonth() + 11) > 4) {
console.log("test");
}
它没有检查2017年的月份。我找不到解决方案来解决这个问题,有人知道如何解决这个问题吗?
答案 0 :(得分:4)
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");
答案 1 :(得分:1)
就像这样比较;
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);
}