传入两个日期,返回一个List
例如:
传入2001-01-15和2003-02-20
返回的list中
2001-01-15,2001-02-01,2001-03-01,2001-04-01……2003-02-01,2003-02-20用什么算法阿?

解决方案 »

  1.   

    public static java.util.List datex(String d1, String d2) throws Exception {
    //     d1 = "2001-01-15";
    //     d2 = "2002-02-20";
         java.util.List list = new java.util.ArrayList();
         java.text.SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
         java.util.Calendar cc1 = Calendar.getInstance(),
             cc2 = Calendar.getInstance();
         cc1.setTime(df.parse(d1));
         cc2.setTime(df.parse(d2));
         list.add(df.format(cc1.getTime()));
         cc1.set(Calendar.DATE,1);
         while(cc1.before(cc2)){
           cc1.add(Calendar.MONTH, 1);
           if (cc1.before(cc2))
             list.add(df.format(cc1.getTime()));
         }
         list.add(df.format(cc2.getTime()));
         return list;
        
       }