Calendar的add(,)方法。
For example, to subtract 5 days from the current time of the calendar, you can achieve it by calling: 
add(Calendar.DATE, -5). 

解决方案 »

  1.   

    //两个时间之间相隔的天数
      public long getDistanceDay(String Start_day, String End_day) {
        long day = 0l;
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        java.util.Date d1, d2;
        try {
          d1 = df.parse(Start_day);
          d2 = df.parse(End_day);
          if (d1.getTime() > d2.getTime()) {        day = ( (d1.getTime() - d2.getTime()) / 1000) / (24 * 60 * 60);
          }
          else {
            day = ( (d2.getTime() - d1.getTime()) / 1000) / (24 * 60 * 60);
          }
        }
        catch (Exception e) {
          System.out.println("can't comp");
        }    return day;  }
      

  2.   

    import java.util.*;
    import java.text.*;
    public class World {
       public static void main(String[] args) {
          GregorianCalendar worldTour = new GregorianCalendar(1872, Calendar.OCTOBER, 2);
          worldTour.add(GregorianCalendar.DATE, 80);
          Date d = worldTour.getTime();
          DateFormat df = DateFormat.getDateInstance();
          String s = df.format(d);
          System.out.println("80 day trip will end " + s);
       }
    }
      

  3.   

    你上csdn的文档中心搜索一下日期,你会找到很多很有技巧的文章
      

  4.   

    // 计算两个日期相隔的天数
      public int nDaysBetweenTwoDate(Date firstDate,Date secondDate) {
        int nDay=(int)((secondDate.getTime()-firstDate.getTime())/(24*60*60*1000));
        return nDay;
      }  // 计算两个日期相隔的天数
      public int nDaysBetweenTwoDate(String firstString,String secondString) {
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        Date firstDate=null;
        Date secondDate=null;
        try {
          firstDate = df.parse(firstString);
          secondDate=df.parse(secondString);
        }
        catch(Exception e) {
          // 日期型字符串格式错误
        }    int nDay=(int)((secondDate.getTime()-firstDate.getTime())/(24*60*60*1000));
        return nDay;
      }  // 当前日期加减n天后的日期,返回Date
      public Date nDaysAfterNowDate(int n) {
        Calendar rightNow = Calendar.getInstance();
        //rightNow.add(Calendar.DAY_OF_MONTH,-1);
        rightNow.add(Calendar.DAY_OF_MONTH,+n);
        return rightNow.getTime();
      }
      

  5.   

    faq区里有啊public static boolean judgeDate(String date)  throws  Exception   {  boolean blnRet = true; date = date.replace('-','/'); Date now = new Date();
       
    java.text.SimpleDateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd");
        DateFormat  dateFormat  =  DateFormat.getDateInstance(DateFormat.MEDIUM);      GregorianCalendar  grc=new  GregorianCalendar();      grc.setTime(new Date(date));      grc.add(GregorianCalendar.DATE,3);    String adder = df.format(grc.getTime()); String nowtime = df.format(now); java.util.Date dt1=df.parse(adder);  java.util.Date dt2=df.parse(nowtime);   if (dt1.before(dt2)){         blnRet = false;      }
    return blnRet;  }
    这是我写的,比较是否是近三天的