lhgcalendar时间插件限制只能选择三个月的实现方法

网友投稿 214 2023-05-03


lhgcalendar时间插件限制只能选择三个月的实现方法

废话不多说,直接上代码

/**

* lhgcalendar时间插件限制只能选择三个月

* @d 获取到的开始时间

* @m 要限制的时间的长度(月)

*将最后获得的结束时间与开始时间存放在input中

*/

function addMoth(d,m){

var ds=d.split('-');

var ds1 = ds[1]-1+m;

var ds2 = ds[2];

d=new Date( ds[0],ds1,ds[2]);

var cond1 = parseInt(ds[0]) % 4 == 0; //条件1:年份必须要能被4整除

var cond2 = parseInt(ds[0]) % 1http://00 != 0; //条件2:年份不能是整百数

var cond3 = parseInt(ds[0]) % 400 ==0;

if(cond1 && cond2 || cond3 ){ //如果是闰年,选择后面的时间可以到月末

if(parseInt(ds2) == 29){

ds2 = 31

}hmeBZ

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

var cond1 = parseInt(ds[0]) % 4 == 0; //条件1:年份必须要能被4整除

var cond2 = parseInt(ds[0]) % 100 != 0; //条件2:年份不能是整百数

var cond3 = 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 = new Date( ds[0],ds1,ds2);

return ds[0] + '-' + ds1 +'-'+ds2;

}

//如果开始选择结束日期,给结束日期减去三个月

function reduceMoth(d,m){

var ds=d.split('-');

if(ds[1] == 2){//如果选择的是2月,开始时间可以选到前一年11月30

ds[2] = 30

}

var ds1 = ds[1]-1-m;

var ds2 = ds[2];

d=new Date( 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;

}

var cond1 = parseInt(ds[0]) % 4 == 0; //条件1:年份必须要能被4整除

var cond2 = parseInt(ds[0]) % 100 != 0; //条件2:年份不能是整百数

var cond3 = parseInt(ds[0]) % 400 ==0;

if(cond1 && cond2 || cond3 ){//如果开始时间到闰年2月hmeBZ可选择29,平年28

if(parseInt(ds1) == 2){

ds2 = 29

}

}else {

if(parseInt(ds1) == 2){

ds2 = 28

}

}

d1 = new Date( ds[0],ds1,ds2);

return ds[0] + '-' + ds1 +'-'+ds2;

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:DataTables添加额外的查询参数和删除columns等无用参数实例
下一篇:对handlerexecutionchain类的深入理解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~