String text = "20010101";
    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
    ParsePosition pos = new ParsePosition(0);
    Date value = formatter.parse(text, pos);    //value.setDate(value.getDate() - 1);
    java.util.Calendar c = java.util.Calendar.getInstance();
    //c.setTime(value);
    for (int i = 0; i < 100; i++) {
        c.set(Calendar.DAY_OF_MONTH, c.get(Calendar.DAY_OF_MONTH) - 1);        String datestr = String.valueOf(c.get(java.util.Calendar.DATE));
        if (datestr.length() == 1)
            datestr = "0" + datestr;
        String monstr = String.valueOf(c.get(java.util.Calendar.MONTH) + 1);
        if (monstr.length() == 1)
            monstr = "0" + monstr;
        String yestr = String.valueOf(c.get(java.util.Calendar.YEAR));
        String str = yestr + monstr + datestr;        System.out.println(str);
    }

解决方案 »

  1.   

    把上面代码运行一下,然后就可以理解calendar的一些特性
      

  2.   

    public String getdate_s() throws Exception {
    SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
    Calendar MyDate = Calendar.getInstance();
    MyDate.setTime(new java.util.Date());
    String adddate=df.format(MyDate.getTime()).substring(0,8);
    return adddate;
    }
      

  3.   

    你上面的代码,是得到Calendar的属性常量值。呵呵System.out.println(c.get(Calendar.YEAR));
    System.out.println(c.get(Calendar.MONTH));
    System.out.println(c.get(Calendar.DATE));
      

  4.   

    想显示
    2002
    9
    25 怎么做呢??
    //file:CalendarTest.java
    import java.util.*;public class CalendarTest
    {
    public static void main(String[] args)
    {
    GregorianCalendar d = new GregorianCalendar();

    int today = d.get(Calendar.DAY_OF_MONTH);
    int month = d.get(Calendar.MONTH) + 1;
    int year = d.get(Calendar.YEAR);
    System.out.println("today=" + today);
    System.out.println("month=" + month);
    System.out.println("year=" + year);
        }
    }
      

  5.   

    Calendar c=Calendar.getInstance();
    System.out.println(c.YEAR);
         System.out.println(c.MONDAY);
          System.out.println(c.DATE);
    Calendar中的变量YEAR,MONTH,DATE是静态的,不能由Calendar对象访问,只能由Calendar类本身访问,因此应该是
    System.out.println(c.get(Calendar.YEAR));
         System.out.println(c.get(Calendar.MONDAY));
          System.out.println(c.get(Calendar.DATE));