Javascript 日期-天数间隔不应超过20天

Javascript 日期-天数间隔不应超过20天,javascript,jquery,Javascript,Jquery,我有fromdate和todate,如果用户输入fromdate和todate,它们之间的间隔不应超过20天。i、 e如果用户输入的日期从2018年8月30日到2018年9月26日,则间隔超过20天,因此我想使用jquery显示警报。 下面是我的代码 var today = new Date(new Date().getFullYear(), new Date().getMonth(),new Date().getDate()); $('#startdate').datepicker({

我有fromdate和todate,如果用户输入fromdate和todate,它们之间的间隔不应超过20天。i、 e如果用户输入的日期从2018年8月30日到2018年9月26日,则间隔超过20天,因此我想使用jquery显示警报。 下面是我的代码

 var today = new Date(new Date().getFullYear(), new Date().getMonth(),new Date().getDate());
 $('#startdate').datepicker({
    uiLibrary : 'bootstrap4',
    iconsLibrary : 'fontawesome',
    format : 'dd/mm/yyyy',
    maxDate : function() {
        return $('#enddate').val();
    }
 });
 $('#enddate').datepicker({
    uiLibrary : 'bootstrap4',
    iconsLibrary : 'fontawesome',
    format : 'dd/mm/yyyy',
    minDate : function() {
        return $('#startdate').val();
    }
 });

在两个输入中处理onchanged事件,并生成一个函数“checkDates()”,该函数将比较两个日期,如果差值超过20天,则生成警报()。请参见下面的示例代码

<input id="startdate" onchanged="checkDate()"/>
<input id="enddate" onchanged="checkDate()"/>
<script>
    function checkDate(){
        var start = $('#startdate').val();
        var end = $('#enddate').val();
        //convert strings to date for comparing
        var startDate = new Date(start);
        var endDate = new Date(end);
        // Calculate the day diffrence
        var oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds
        var diffDays = Math.abs((endDate.getTime() - startDate.getTime()) / (oneDay));  
        if(diffDays > 20){
             alert("Days are more then twenty");
        }
    }
</script>

函数checkDate(){
var start=$('#startdate').val();
var end=$('#enddate').val();
//将字符串转换为日期以进行比较
var startDate=新日期(开始);
var endDate=新日期(结束);
//计算日差
var oneDay=24*60*60*1000;//小时*分钟*秒*毫秒
var diffDays=Math.abs((endDate.getTime()-startDate.getTime())/(oneDay));
如果(天数>20天){
警报(“天数超过二十天”);
}
}
请让我知道它是否有效。

试试这个

<input id="startDate" onchanged="myFunction()"/>
<input id="endDate" onchanged="myFunction()"/>
<script>
function myFunction(){
    var startDate = new Date($('#startDate').val());
    var endDate = new Date($('#endDate').val());
    var timeDiff = Math.abs(endDate.getTime() - startDate.getTime());
    var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));   
    if(diffDays > 20){
         alert("Days are more then twenty");
    }
}
</script>

函数myFunction(){
var startDate=新日期($(“#startDate”).val();
var endDate=新日期($('#endDate').val());
var timeDiff=Math.abs(endDate.getTime()-startDate.getTime());
var diffDays=数学单元(timeDiff/(1000*3600*24));
如果(天数>20天){
警报(“天数超过二十天”);
}
}