Calendar cd = Calendar.getInstance();
cd.setTime(new Date());
cd.add(Calendar.YEAR, -20);
Date newDate = cd.getTime();

解决方案 »

  1.   

    如果原始日期是Date型,date.setYear(date.getYear-20);
    如果是String型,date = Integer.parse(date.substring(0,4))-20+date.substring(date.substring(4))
      

  2.   

    function getBirthday(){
      var d,s;
      d = new Date();
      s+= (d.getFullYear()-30)+"-";
      s+= (d.getMonth()+1)+"-";
      s+= d.getDate();
      return(s);
      )fm.all('Birthday').value=getBirthday(); 就会出错,错在哪里啊?Birthday是控件名
      

  3.   

    TO:haroyy(天平) 

    Calendar cd = Calendar.getInstance();
    cd.setTime(new Date());
    cd.add(Calendar.YEAR, -20);
    Date newDate = cd.getTime();
    写在我的函数中,fm.all('Birthday').value=newDate;就会出错,为什么啊?
      

  4.   

    <html>
    <body>
    <input type="text" name="qq" value="">
    <script>
     function getBirthday(){
      var d,s;
      d = new Date();
      s= (d.getYear()-30)+"-";
      s+= (d.getMonth()+1)+"-";
      s+= d.getDate();
      return(s);
      }
      document.all("qq").value=getBirthday();
    </script>
    </body>
    </html>这个是我的测试代码,这样没有问题。
      

  5.   

    对了,要减20年的话,把上面那个d.getYear()-30改成d.getYear()-20就可以了。
      

  6.   

    我自己的方法问题解决了。
    s+= (d.getFullYear()-30)+"-";改为:
    s= (d.getFullYear()-30)+"-";输入错误!