/**
     * 根据系统时间得到n天以后的日期
     * @param int n 天数
     * @return String 得到的时间 YYYYMMDD
     */
    private synchronized static String getNDayLater(int n)throws Exception{
        String time = null;
        String dayStr = null;
        String monthStr = null;
        String yearStr = null;
        java.util.Calendar cal = java.util.Calendar.getInstance();
        cal.add(java.util.Calendar.DAY_OF_MONTH,n);
        int day = cal.get(java.util.Calendar.DATE);
        int month = cal.get(java.util.Calendar.MONTH)+1;
        int year = cal.get(java.util.Calendar.YEAR);
        if (day<10)
            dayStr = "0"+Integer.toString(day);
        else
            dayStr = Integer.toString(day);
        if (month<10)
            monthStr = "0"+Integer.toString(month);
        else
            monthStr = Integer.toString(month);
        yearStr = Integer.toString(year);
        time = yearStr+monthStr+dayStr;
        dayStr = null;
        monthStr = null;
        yearStr = null;
        return time;
    }略加修改,我想应该可以满足你的要求

解决方案 »

  1.   

    java.util.Date d=new java.util.Date();
        java.text.SimpleDateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd");
        System.out.println("今天的日期:"+df.format(d));
        System.out.println("两天前的日期:"+df.format(new java.util.Date(d.getTime()-2*24*3600*1000)));
        System.out.println("三天后的日期:"+df.format(new java.util.Date(d.getTime()+3*24*3600*1000)));这个方法又如何?
      

  2.   

    //1天前日期
       java.util.Date myDate=new java.util.Date();
       myDate.setTime(myDate.getTime()-60*24*60*1000);
       String mDate=formatter.format(myDate);
       out.println(mDate);
       out.println("<br>");