String startTime = request.getParameter("startTime");
String endTime = request.getParameter("endTime");
Date date1=df.parse(startTime);
cal.setTime(date1);
String get_startTime = "";
String get_endTime = "";
get_startTime = df.format(cal.getTime());
根据这个计算get_startTime之后几个月的月份,我的思路是取startTime的月份,然后加我需要的月数,得到get_endTime对应的月份,如当前为11月,加2个月,为1月。想到用add(),但是不太会用,请指教

解决方案 »

  1.   

    可以利用commons-lang库中的DateUtils类
       java.util.Date start = ...;
       // 加3个月
       java.util.Date end = DateUtils.addMonths(start, 3);
    commons-lang库的主页:
    http://commons.apache.org/lang/
      

  2.   


     public void testAddMonth(){        
            String startTime ="2009-11-01";
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            
            Date date1 = null;
            try {
                date1 = sdf.parse(startTime);
            } catch (ParseException e) {          
                e.printStackTrace();
            }
            
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date1);
            
            calendar.add(Calendar.MONTH, 2);//month加上2个月
            Date date2 = calendar.getTime();
            String endTime = sdf.format(date2);
            System.out.println("startTime:"+startTime);
            System.out.println("endTime:"+endTime);
        }
      

  3.   

     calendar.add(Calendar.MONTH, 2);//month加上2个月