js 判断时间不能超过3个月

xiaoxiao2021-02-28  118

js实现判断两个时间间隔是否大于3个月,即时间跨度不得超过3个月。实现代码如下:

function checkTime(){ var begintime = document.getElementById('startTime').value; var endtime = document.getElementById('endTime').value; if(!endtime){ return true; } var time1 = new Date(begintime).getTime(); var time2 = new Date(endtime).getTime(); if(begintime==''){ alert("开始时间不能为空"); return false; } if(endtime==''){ alert("结束时间不能为空"); return false; } if(time1 > time2){ alert("开始时间不能大于结束时间"); return false; } //判断时间跨度是否大于3个月 var arr1 = begintime.split('-'); var arr2 = endtime.split('-'); arr1[1] = parseInt(arr1[1]); arr1[2] = parseInt(arr1[2]); arr2[1] = parseInt(arr2[1]); arr2[2] = parseInt(arr2[2]); var flag = true; 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; }

其中startTime和endTime是通过id获取的,参数值格式为yyyy-mm-dd形式,如下所示:

<input type="text" name="startTime" id="startTime" value="2017-05-06" /> <input type="text" name="endTime" id="endTime" value="2017-08-03" />
转载请注明原文地址: https://www.6miu.com/read-34721.html

最新回复(0)