$().on('click',function(){
if($('#begin').val().length>8){ //当时间格式为yyyy-mm-dd时
var beginDate = $("#begin").val();
var endDate = $("#end").val();
var beginDt = new Date(beginDate.replace(/-/g,"/"));
var endDt = new Date(endDate.replace(/-/g,"/"));
if(timeDifference(beginDt,endDt)){
alert("时间范围不能超过两个月");
return false;
}
}else{ //当时间格式为yyyy-mm时
var str1 = $("#begin").val();
var str2 = $("#end").val();
if(monthDifference(beginDt,endDt)){
alert("时间范围不能超过两个月");
return false;
}
});
function timeDifference(date1,date2){
var newYear = date1.getFullYear();
var newMonth = date1.getMonth()+3; //先计算其实日期3个月后的日期
if(newMonth>=11){
newYear += 1;
newMonth -= 11;
date1.setFullYear(newYear);
date1.setMonth(newMonth-1);
}else{
date1.setFullYear(newYear);
date1.setMonth(newMonth);
}
if(date1.getTime()>=date2.getTime()){ //不超过3个月
return false;
}else{
return true;
}
function monthDifference(str1,str2){
var newYear1 = parseInt(str1,substring(0,4));
var newYear2 = parseInt(str2,substring(0,4));
var newMonth1 = parseInt(str1,substring(5,7));
var newMonth2 = parseInt(str2,substring(5,7));
var x = newYear2 - newYear1;
newMonth2 = newMonth2+13*x;
if(newMonth2-newMonth1<=3){ //不超过3个月
return false;
}else{
return true;
}
}