我要获得当前月的前一年,比如去年的9月到今年的8月,并且每一个的时间都要打出来如:2010-9
    2010-10
    2010-11
    ……
    2011-8
不要写死的,你们的懂的!求思路,有代码更好

解决方案 »

  1.   

    去看看Calendar的API就知道怎么做了
      

  2.   

    Calendar类可以满足你的需求的!SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
    Calendar c = Calendar.getInstance();
    Date now = c.getTime();
    for(int i = -11; i <= 0; i++) {
    c.add(Calendar.MONTH, i);
    Date before = c.getTime();
    System.out.println(sdf.format(before));
    c.setTime(now);
    }
      

  3.   

    import java.util.ArrayList;
    import java.util.Calendar;
    import java.util.Date;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;/**
     * Created by IntelliJ IDEA.
     * User: admin
     * Date: 2011-8-29
     * Time: 11:02:13
     * To change this template use File | Settings | File Templates.
     */
    public class MonthUtil {
        private static DateFormat df=new SimpleDateFormat("yyyy-MM");    public static ArrayList<String> getLastYearMons(){
             ArrayList<String> result=new ArrayList<String>();
    //        Calendar now=Calendar.getInstance();
            Calendar lastYear=Calendar.getInstance();
            lastYear.add(Calendar.YEAR,-1);
            for(int i=0;i<12;i++){
                 lastYear.add(Calendar.MONTH,1);
                 Date tmp=lastYear.getTime();
                 String tmpStr=df.format(tmp);
                System.out.println(tmpStr);
                result.add(tmpStr);
            }
            return result;
        }    public static void main(String[] args){
                  MonthUtil.getLastYearMons();
        }
    }
      

  4.   

            // 取系统时间
            Calendar today = Calendar.getInstance();
            // 计算用时间
            Calendar calDay = Calendar.getInstance();
            // 取去年今天
            calDay.add(Calendar.YEAR, -1);
            // 循环打印各个月
            while (calDay.before(today)) {
                SimpleDateFormat ftime = new SimpleDateFormat("yyyy年MM月");
                System.out.println(ftime.format(calDay.getTime()));
                // 顺序加一月
                calDay.add(Calendar.MONTH, 1);
            }