Sun made a big mistake on Date class and they are not plannin' to rewrite that class as they have said sometime we just have to live on our mistakes. 你的需求,在java.util.Date里是做的到但是不推荐的,推荐化成Calendar,再进行加减,再转回Date.如果有可能,就用Calendar算了,不要用Date了。

解决方案 »

  1.   

    两个方法:
    1。把data,timestamp转成微秒,直接减一下
    2。Calendar里面有发法
      

  2.   

    /**
     * n天后的日期
     * /
    public static void afterNDay(int n) {
    Calendar calendar = Calendar.getInstance();
    calendar.add(Calendar.DATE, n);
    System.out.println(calendar.get(Calendar.DATE)); 
    }    下次提问前搜索一下,这个问题每天都有两三个人问
      

  3.   

    Timestamp mytime=Timestamp.valueOf("2004-01-01 00:00:00.0");
    //add 1 second
    mytime.setTime(mytime.getTime() + (long)1000);
      

  4.   

    使用java.util.GregorianCalendar
    1。add(int field, int amount) 
    Adds the specified (signed) amount of time to the given time field, based on the calendar's rules.
    2。Date getTime()

    getTimeInMillis() 
    通过long
    -->Date or TimeStamp