import java.util.Date;
import java.text.*;class lal 

  
public static void main(String[]args) 

  lal p = new lal();
  p.p();

public void p()
{
  String str1="2001-10-25 21:10:00";
  System.out.println(str1);
  try{
  long d1 = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).parse(str1).getTime(); 
  System.out.println(d1);
  Date dateTomorrow = new Date(d1+ 60*8*60*1000); 
                              ~~~~~~~~~~~~~~~~~  当前日期加8小时,2个月你会加吧!
  System.out.println(dateTomorrow.toString());
  }catch(ParseException p){
  }}

解决方案 »

  1.   

    Add/Substract Day/Month/Year to a Date
    Before doing any arithmetic operation on a Calendar, we must set the flag roll to TRUE. Then we use the add method of the Calendar object to compute the new date. public static GregorianCalendar addYear(GregorianCalendar c, int i) {
      c.roll(GregorianCalendar.YEAR, true);
      c.add(GregorianCalendar.YEAR, i);
      return c;
      }
    public static GregorianCalendar addMonth(GregorianCalendar c, int i) {
      c.roll(GregorianCalendar.MONTH, true);
      c.add(GregorianCalendar.MONTH, i);
      return c;
      }
    public static GregorianCalendar addDay(GregorianCalendar c, int i) {
      c.roll(GregorianCalendar.DATE, true);
      c.add(GregorianCalendar.DATE, i);
      return c;
      }
     
    To substract, simply use a negative argument.