SimpleDateFormat sdf=new SimpleDateFormat("yyyy-M-d");
Date d=sdf.parse("2004-8-15");
Calendar cal=new GregorianCalendar();
cal.setTime(d);
cal.add(Calendar.DAY_OF_YEAR,-30);
System.out.println(sdf.format(cal.getTime()));

解决方案 »

  1.   

    String strDate = "2004-8-15";
    java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd");
    java.util.Date cDate = df.parse(strDate);
    java.util.Calendar gcalendar = new java.util.GregorianCalendar().getInstance();
    gcalendar.setTime(cDate);
    gcalendar.add(java.util.Calendar.DATE,-30);
    System.out.println(df.format(gcalendar.getTime()));
      

  2.   

    java.sql.Date d = new java.sql.Date((System.currentTimeMillis()-30*24*60*60*1000l));
    System.out.println(d);