js限制时间查询条件

 

   
    <h3> 开始结束的时间段跨度不能超过3个月或90天<h3>

 
<input type="text" name="btime" id="btime" value="2021-09-01" />
<input type="text" name="etime" id="etime" value="2021-12-01" />

<button type="button" onclick="cx()" >查询</button>

<script>

function cx(){
    //调用方法
    checkTime()
}
    

    function checkTime(){
        var begintime = document.getElementById('btime').value;//获取id
        var etime = document.getElementById('etime').value;
        if(!etime){
            return true;
        }

//        把日期转化为毫秒数
        var time1 = new Date(begintime).getTime();
        var time2 = new Date(etime).getTime();
        if(begintime==''){//判断begintime时间是否为空
            alert("开始时间不能为空");
            return false;
        }
        if(etime==''){
            alert("结束时间不能为空");
            return false;
        }
        if(time1 > time2){//开始时间不能大于结束时间
            alert("开始时间不能大于结束时间");
            return false;
        }

        //判断时间跨度是否大于3个月
        var arr1 = begintime.split('-');// split() 方法用于把一个字符串分割成字符串数组。
        var arr2 = etime.split('-');
        arr1[1] = parseInt(arr1[1]);//parseInt() 函数可解析一个字符串,并返回一个整数。
        arr1[2] = parseInt(arr1[2]);// 不能解析返回一份NAN
        arr2[1] = parseInt(arr2[1]);
        arr2[2] = parseInt(arr2[2]);
        var flag = true;//定义一个参数flag(布尔类型)
        if(arr1[0] == arr2[0]){//同年
            if(arr2[1]-arr1[1] > 3){ //月间隔超过3个月
                flag = false;
            }else if(arr2[1]-arr1[1] == 3){ //月相隔3个月,比较日
                if(arr2[2] > arr1[2]){ //结束日期的日大于开始日期的日
                    flag = false;
                }
            }
        }else{ //不同年
            if(arr2[0] - arr1[0] > 1){
                flag = false;
            }else if(arr2[0] - arr1[0] == 1){
                if(arr1[1] < 10){ //开始年的月份小于10时,不需要跨年
                    flag = false;
                }else if(arr1[1]+3-arr2[1] < 12){ //月相隔大于3个月
                    flag = false;
                }else if(arr1[1]+3-arr2[1] == 12){ //月相隔3个月,比较日
                    if(arr2[2] > arr1[2]){ //结束日期的日大于开始日期的日
                        flag = false;
                    }
                }
            }
        }
        if(!flag){
            alert("时间跨度不得超过3个月!");
            return false;
        }
        return true;
    }

</script>
 
 
 
 
 

 

posted @ 2022-01-20 10:57  一梦逐一生  阅读(412)  评论(0)    收藏  举报