不用那么麻烦的,直接加7个月即可
var today = new Date();
var d = new Date(today.getFullYear(), today.getMonth() + 7, today.getDate()-1);
alert(d.getFullYear() + "-" + (d.getMonth()+1) + "-" + d.getDate());
var today = new Date();
var d = new Date(today.getFullYear(), today.getMonth() + 7, today.getDate()-1);
alert(d.getFullYear() + "-" + (d.getMonth()+1) + "-" + d.getDate());
var theday = new Date(年,月-1, 日);
2007-06-01的话
var theday = new Date(2007,5,1);
var d = new Date(theday.getFullYear(), theday.getMonth() + 12, theday.getDate()-1);
d就是2008-05-31了.
2007-06-01拆分年月日也简单
a="2007-06-01".split("-");
a[0] = parseInt(a[0]); //2007
a[1] = parseInt(a[1]); //6
a[2] = parseInt(a[2]); //1
function youxiaoriqi()
{
var jiandingriqi=document.form1.jdrq.value;
var sel = document.form1.jdzq;
if(sel.selectedIndex==0 || jiandingriqi=="") return false;
var a = jiandingriqi.split("-");
if(a.length != 3) return false;
var theday = new Date(parseInt(a[0]),parseInt(a[1]-1),parseInt(a[2]));
var d = new Date(theday.getFullYear(), theday.getMonth() + parseInt(sel.options[sel.selectedIndex].value), theday.getDate()-1);
var m = parseInt(d.getMonth())+1;
var t = d.getDate();
m = "0" + m;
m = m.substr(m.length-2,2);
t = "0" + t;
t = t.substr(t.length-2,2);
document.form1.yxrq.value = d.getFullYear() + "-" + m + "-" + t;
}
</script> <style type="text/css">
<!--
.STYLE1 {font-size: 12px}
.STYLE2 {font-size: 16px}
.STYLE3 {font-size: 12px}
-->
</style><form name="form1" method="post" action="Untitled-2-1.asp" >
<table width="100%" border="0" cellspacing="1" cellpadding="2">
<tr bgcolor="#4E5960">
<td height="20" align="center" class="heading"><font color="#FFFFFF" class="STYLE2"><b>证 书 / 报 告 录 入</b></font></td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="1" bordercolordark="#FFFFFF" bordercolor="#000000">
<tr>
<td width="25%" bgcolor="#bfbfbf">
<div align="center" class="STYLE2">检定日期:</div> </td>
<td width="75%" bgcolor="#efefef">
<input name="jdrq" type="text" class="STYLE2" value=""size="20" maxlength="20" /></td>
</tr>
<tr>
<td width="25%" height="30" bgcolor="#bfbfbf">
<div align="center" class="STYLE2">检定周期:</div> </td>
<td width="75%" bgcolor="#efefef" style="height:30px;position:relative">
<select name="jdzq" class="STYLE2" id="jdzq1" onChange="youxiaoriqi()">
<option value="">选择检定周期:</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="6">6</option>
<option value="12">12</option>
<option value="24">24</option>
<option value="36">36</option>
</select>
</td>
</tr>
<tr>
<td width="25%" bgcolor="#bfbfbf">
<div align="center" class="STYLE2">有效日期:</div> </td>
<td width="75%" bgcolor="#efefef">
<input name="yxrq" type="text" class="STYLE2" size="20" maxlength="20" /> </td>
</tr></table>
</form>
function youxiaoriqi()
{
var jiandingriqi=document.form1.jdrq.value;
var sel = document.form1.jdzq;
if(sel.selectedIndex==0 || jiandingriqi=="") return false;
var theday = new Date(jiandingriqi.replace(/-/ig,"/"));
var d = new Date(theday.getFullYear(), theday.getMonth() + parseInt(sel.options[sel.selectedIndex].value), theday.getDate()-1);
if(d.getDate()+1 != theday.getDate()) d.setDate(0);
var m = parseInt(d.getMonth())+1;//加了这一句
var t = d.getDate();
m = "0" + m;
m = m.substr(m.length-2,2);
t = "0" + t;
t = t.substr(t.length-2,2);
document.form1.yxrq.value = d.getFullYear() + "-" + m + "-" + t;
}
</script> <head>
<style type="text/css">
<!--
.STYLE1 {font-size: 12px}
.STYLE2 {font-size: 16px}
.STYLE3 {font-size: 12px}
-->
</style><form name="form1" method="post" action="Untitled-2-1.asp" >
</head> <table width="100%" border="0" cellspacing="1" cellpadding="2">
<tr bgcolor="#4E5960">
<td height="20" align="center" class="heading"><font color="#FFFFFF" class="STYLE2"><b>证 书 / 报 告 录 入</b></font></td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="1" bordercolordark="#FFFFFF" bordercolor="#000000">
<tr>
<td width="25%" bgcolor="#bfbfbf">
<div align="center" class="STYLE2">检定日期:</div> </td>
<td width="75%" bgcolor="#efefef">
<input name="jdrq" type="text" class="STYLE2" value="2007-12-31" size="20" maxlength="20" /></td>
</tr>
<tr>
<td width="25%" height="30" bgcolor="#bfbfbf">
<div align="center" class="STYLE2">检定周期:</div> </td>
<td width="75%" bgcolor="#efefef" style="height:30px;position:relative">
<select name="jdzq" class="STYLE2" id="jdzq1" onChange="youxiaoriqi()">
<option value="">选择检定周期:</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="6">6</option>
<option value="12">12</option>
<option value="24">24</option>
<option value="36">36</option>
</select>
</td>
</tr>
<tr>
<td width="25%" bgcolor="#bfbfbf">
<div align="center" class="STYLE2">有效日期:</div> </td>
<td width="75%" bgcolor="#efefef">
<input name="yxrq" type="text" class="STYLE2" size="20" maxlength="20" /> </td>
</tr></table>
</form>
function youxiaoriqi()
{
var d = new Date(document.getElementById("jdrq").value.replace(/-/g,"/"));
var zq = document.getElementById("jdzq").value;
if(!d || zq =="") return false;
d.setMonth(d.getMonth() -(0-zq) );
d.setDate(d.getDate()-1);
var str = (d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate()).replace(/(\D)(\d)(?=\D|$)/g, "$10$2");
document.getElementById("yxrq").value = str;
}
给input加个onblur事件就成。简单的事自己完成,
因为别人也不想当代码工。