描述:
当开始日期和结束日期的范围没有超过一月,不需要切成一个月,超过一月时,对应的日期才随动变成一个月前或一个月后
页面:
<td width="10%" class="tdtit">开始日期:</td>
<td width="15%" class="tdcont">
<input type="text" name="startdate" id="startdate" onClick="WdatePicker({dateFmt:'yyyy-MM-dd', onpicked:function(){$dp.$('enddate').value =startpicker($dp.cal,$dp.$('enddate').value)}})" value="${startdate}" />
</td>
<td width="10%" class="tdtit">结束日期:</td>
<td width="15%" class="tdcont">
<input type="text" name="enddate" id="enddate" onClick="WdatePicker({dateFmt:'yyyy-MM-dd', onpicked:function(){$dp.$('startdate').value=endpicker($dp.cal,$dp.$('startdate').value)}})" value="${enddate}" />
</td>
js:
function startpicker(date,enddateStr) {
var tempStrs = enddateStr.split("-");
var year = parseInt(tempStrs[0], 10);
var month = parseInt(tempStrs[1], 10);
var day = parseInt(tempStrs[2], 10);
var enddate = new Date(year,month-1,day,0,0,0);
var Y = date.getP('y');
var M = date.getP('M')-1;
var D = date.getP('d');
var startdate = new Date();
startdate.setFullYear(Y, M, D);
if ((enddate - startdate) / (1000 * 60 * 60 * 24) < 30 && (enddate - startdate) / (1000 * 60 * 60 * 24) >0) {
if (enddate != null) {
if (month>=1&&month<=9) {
month = "0" + month;
}
if (day >= 1 && day <= 9) {
day="0"+day
}
return year + "-" + month + "-" + day;
} else {
return null;
}
} else {
M = parseInt(M, 10) + 1;
D = parseInt(D, 10);
startdate.setFullYear(Y, M, D);
var startdateMonth = startdate.getMonth() + 1;
var startdateDay = startdate.getDate();
if (startdateMonth >= 1 && startdateMonth <= 9) {
startdateMonth = "0" + startdateMonth;
}
if (startdateDay >= 1 && startdateDay <= 9) {
startdateDay = "0" + startdateDay;
}
return startdate.getFullYear() + "-" + startdateMonth + "-" + startdateDay;
}
}
function endpicker(date,startdateStr) {
var tempStrs = startdateStr.split("-");
var year = parseInt(tempStrs[0], 10);
var month = parseInt(tempStrs[1], 10);
var day = parseInt(tempStrs[2], 10);
var startdate = new Date(year,month-1,day,0,0,0);
var Y = date.getP('y');
var M = date.getP('M')-1;
var D = date.getP('d');
var enddate = new Date();
enddate.setFullYear(Y, M, D);
if ((enddate - startdate) / (1000 * 60 * 60 * 24) < 30 && (enddate - startdate) / (1000 * 60 * 60 * 24) >0) {
if (enddate != null) {
if (month>=1&&month<=9) {
month = "0" + month;
}
if (day >= 1 && day <= 9) {
day="0"+day
}
return year + "-" + month + "-" + day;
} else {
return null;
}
} else {
M = parseInt(M, 10) - 1;
D = parseInt(D, 10);
enddate.setFullYear(Y, M, D);
var enddateMonth = enddate.getMonth() + 1;
var enddateDay = enddate.getDate();
if (enddateMonth >= 1 && enddateMonth <= 9) {
enddateMonth = "0" + enddateMonth;
}
if (enddateDay >= 1 && enddateDay <= 9) {
enddateDay = "0" + enddateDay;
}
return enddate.getFullYear() + "-" + enddateMonth + "-" +enddateDay;
}
}
博客介绍了时间插件中开始日期和结束日期的联动规则。当起止日期范围未超一月,无需切割;若超过一月,对应日期会随动变为一个月前或一个月后,还提及了页面和 js 相关内容。
1205

被折叠的 条评论
为什么被折叠?



