日期天差应该不超过20天

时间:2018-09-30 08:20:33

标签: javascript jquery

如果用户输入起始日期和日期,则我需要的起始日期和起始日期之间的时间间隔不应为20天。即如果用户输入从date = '30 / 08/2018'到date = '26 / 09/2018'这里的间隔超过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();
    }
 });

2 个答案:

答案 0 :(得分:0)

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

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

请让我知道它是否有效。

答案 1 :(得分:0)

尝试一下.....

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