不用那么麻烦的,直接加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());

解决方案 »

  1.   

    随意日期也是一样的
    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
      

  2.   

    <script language="JavaScript" >
    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>
      

  3.   

    <script language="JavaScript" >
    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>
      

  4.   

    sorry,  "//加了这一句"写错了地方,应该是上一句
      

  5.   

    改一下hookee的函数:
    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;
    }
      

  6.   

    看不出要转什么弯?
    给input加个onblur事件就成。简单的事自己完成,
    因为别人也不想当代码工。