lhgcalendar时间插件限制只能选择三个月的实现方法
废话不多说,直接上代码
/**
*lhgcalendar时间插件限制只能选择三个月
*@d获取到的开始时间
*@m要限制的时间的长度(月)
*将最后获得的结束时间与开始时间存放在input中
*/
functionaddMoth(d,m){
vards=d.split('-');
vards1=ds[1]-1+m;
vards2=ds[2];
d=newDate(ds[0],ds1,ds[2]);
varcond1=parseInt(ds[0])%4==0;//条件1:年份必须要能被4整除
varcond2=parseInt(ds[0])%100!=0;//条件2:年份不能是整百数
varcond3=parseInt(ds[0])%400==0;
if(cond1&&cond2||cond3){//如果是闰年,选择后面的时间可以到月末
if(parseInt(ds2)==29){
ds2=31
}
}else{
if(parseInt(ds2)==28){
ds2=31
}
}
if(ds1<10){
ds1='0'+ds1;//月份小于10加0
}
if(ds1>12){//跨年年份+1
ds1=ds1-12;
ds[0]=parseInt(ds[0])+1;
varcond1=parseInt(ds[0])%4==0;//条件1:年份必须要能被4整除
varcond2=parseInt(ds[0])%100!=0;//条件2:年份不能是整百数
varcond3=parseInt(ds[0])%400==0;
if(cond1&&cond2||cond3){
if(parseInt(ds1)==2){//如果到2月,闰年最大29,平年28
ds2=29
}
}else{
if(parseInt(ds1)==2){
ds2=28
}
}
ds1='0'+ds1;
}
if(ds2<10){
ds2='0'+ds2;
}
d1=newDate(ds[0],ds1,ds2);
returnds[0]+'-'+ds1+'-'+ds2;
}
//如果开始选择结束日期,给结束日期减去三个月
functionreduceMoth(d,m){
vards=d.split('-');
if(ds[1]==2){//如果选择的是2月,开始时间可以选到前一年11月30
ds[2]=30
}
vards1=ds[1]-1-m;
vards2=ds[2];
d=newDate(ds[0],ds1,ds[2]);
if(ds1>=1&&ds1<10){
ds1='0'+ds1;
}
if(ds1<1){//跨年,开始时间年份-1,月份+12
ds[0]=parseInt(ds[0])-1;
ds1=ds1+12;
}
if(ds2<10){
ds2='0'+ds2;
}
varcond1=parseInt(ds[0])%4==0;//条件1:年份必须要能被4整除
varcond2=parseInt(ds[0])%100!=0;//条件2:年份不能是整百数
varcond3=parseInt(ds[0])%400==0;
if(cond1&&cond2||cond3){//如果开始时间到闰年2月可选择29,平年28
if(parseInt(ds1)==2){
ds2=29
}
}else{
if(parseInt(ds1)==2){
ds2=28
}
}
d1=newDate(ds[0],ds1,ds2);
returnds[0]+'-'+ds1+'-'+ds2;
}
以上这篇lhgcalendar时间插件限制只能选择三个月的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。