输入字符串如 2008-06 就可以得到如下效果返回 
2008-05
2008-04
2008-03
2008-02
2008-01

解决方案 »

  1.   

    得到月份,然后用Calendar的add
    然后输出!
      

  2.   

    把字符串转换为日期取月份 for(int i=6-1;i--;i>0)
      

  3.   

    我的方法就行!
    自己写写看!
    先通过SimpleDateFormat转换成日期格式
    然后Calendar,然后add月份-1
    然后得到日期再转换成字符串
      

  4.   

    先把字符串转化成date类型,然后就简单了
      

  5.   

    public static void StringToDate (String date){
         SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM");
         try {
         int month= sd.parse(date).getMonth() +1;
         int year=1900+sd.parse(date).getYear();
         for(int i=month-1;i>0;i--){
         if(i<10){
         System.out.println(year+"-0"+i);
         }
        
        
         }
        
        
    } catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
        }
      

  6.   

    jdk1.5 里的 getMonth()  getYear(); 已经被废弃了
      

  7.   

    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    public class Hello{
        private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");     public static void main(String args[]) throws Exception {
            String str = "2008-06";
            System.out.println(sdf.parse(str));
            for (int i = 0; i < 5; i++) {
                Calendar cal = Calendar.getInstance();
                cal.setTime(sdf.parse(str));
                cal.add(Calendar.MONTH, -1);
                str = sdf.format(cal.getTime());
                System.out.println(sdf.format(cal.getTime()));
            }
        }}
      

  8.   

    2楼的方法是最正确的方法。
    非常不建议用解析字符串,把月份弄成int加减的方法。
      

  9.   

    高手 我在开个贴子你来 把80分给你请M_song 来接分
      

  10.   


    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;public class Test {
    public static void main(String[] args) throws ParseException {
    String input = "2008-03";
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
    Calendar cal = Calendar.getInstance();
    cal.setTime(sdf.parse(input));
    for(int i=0;i<6;i++){
    cal.add(Calendar.MONTH, -1);
    System.out.println(sdf.format(cal.getTime()));
    }
    }
    }
      

  11.   

    如果说用字符串输出的话,那可以用解析字符串,把月份弄成int加减的方法。
    如果说一日期的格式输出的话,2楼的做法是正确的
    要看你是要怎么实现的