用引擎搜索了一下还是有点迷糊有人说用这个方法   getMaximum(),但是它取出来的怎么一直都是31啊?
Calendar c = Calendar.getInstance();
c.set(2008,11,11);
System.out.print(calendar.getMaximum(Calendar.DAY_OF_MONTH))输出的还是31啊?还有一个方法是下一个月第一天减去这个月第一天,有没有灵巧点的?
谢谢了

解决方案 »

  1.   

    Calendar.DAY_OF_MONTH 这是取当月的最大值    现在不是3月份吗  还不是一直是31天
      

  2.   

    c.set(2008,11,11); 
    月的变量应该是10,月应该是0-11
    而不是我们的习惯1-12
      

  3.   


    我不是给它重新set日期了嘛~~呵呵
      

  4.   

    我改为c.set(2008,10,11);  还是31~~~
      

  5.   

    是楼主也错了                //月是真值-1
    Calendar c = Calendar.getInstance();
    c.set(2005,3,1);
    System.out.print(c.getActualMaximum(Calendar.DAY_OF_MONTH));
     
    c.getActualMaximum
      

  6.   

    System.out.print((new Date(2008,1,0)).getDate());  输出 31
    System.out.print((new Date(2008,2,0)).getDate());  输出 29
    ......
      

  7.   

    示例:假定 GregorianCalendar 最初被设置为 1999 年 8 月 31 日。调用 set(Calendar.MONTH, Calendar.SEPTEMBER) 将该日期设置为 1999 年 9 月 31 日
      

  8.   

    [Quote=引用 7 楼 lastsweetop 的回复:]
    Java code
                    //月是真值-1
            Calendar c = Calendar.getInstance();
            c.set(2005,3,1);
            System.out.print(c.getActualMaximum(Calendar.DAY_OF_MONTH));这个就很好啊