//开始日期默认为公示结束日期的下一个月的1号
function startday(){
var end;//开始日期
var mm;
var yyyy;
var dd;
var mm1;
var yyyy1;
var start;
end = form.jgssj.value;//得到开始日期
mm = end.substring(5,7);//得到月
yyyy = end.substring(0,4);//得到年
dd = end.substring(8,10);
mm1= parseInt(mm)+1;//得到下一个月
if (mm1>12){
yyyy1 = parseInt(yyyy)+1;
mm1 = 1;
}
else
yyyy1 = yyyy;
if (mm1<10) {
mm1 = "0"+mm1;
} start= yyyy1+"-"+mm1+"-01";
form.jjzrq.value= start;
}
当end的月份值小于等于7时,都能得到正确的结果,当end大于7时就会成1月了。
比如end=2009-05-23,正确得到2009-06-01
当end=2009-08-12时却会得到2009-01-01
function startday(){
var end;//开始日期
var mm;
var yyyy;
var dd;
var mm1;
var yyyy1;
var start;
end = form.jgssj.value;//得到开始日期
mm = end.substring(5,7);//得到月
yyyy = end.substring(0,4);//得到年
dd = end.substring(8,10);
mm1= parseInt(mm)+1;//得到下一个月
if (mm1>12){
yyyy1 = parseInt(yyyy)+1;
mm1 = 1;
}
else
yyyy1 = yyyy;
if (mm1<10) {
mm1 = "0"+mm1;
} start= yyyy1+"-"+mm1+"-01";
form.jjzrq.value= start;
}
当end的月份值小于等于7时,都能得到正确的结果,当end大于7时就会成1月了。
比如end=2009-05-23,正确得到2009-06-01
当end=2009-08-12时却会得到2009-01-01
比如parseInt(mm)====》parseInt(mm,10)
alert(parseInt("09"));//0
问题就出现在这里
alert(parseInt("08",10));//8
alert(parseInt("09",10));//9
alert(parseInt("08"));//0
alert(parseInt("09"));//0
等价于
alert(parseInt("08",8));//0
alert(parseInt("09",8));//0