已用过 calendat.add() set() and roll() 都不行 日期大于30后月份还是不变 :拜求解释....

解决方案 »

  1.   

    我之前也遇到过这种情况,不知道和不和你一样,也是日期大于30后月份不变,因为在用SimpleDateFormat声明时那个=new SimpleDateFormat(yyyy-MM-dd),里面的MM我写成了小写的mm,后来就出现了你说的这种情况了,改成大写的MM就可以了,区别如下::m  小时中的分钟数  Number  30  ;;;M  年中的月份  Month  July; Jul; 07  。
      

  2.   

    怎么可能?
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;public class CalendarDemo
    {
    public static void main(String[] args)
    {
    Calendar cal = Calendar.getInstance();

    DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    System.out.println(df.format(cal.getTime()));

    cal.add(Calendar.DATE, 30);
    System.out.println(df.format(cal.getTime()));
    }
    }
    打印结果:
    2012-09-25
    2012-10-25