import java.util.Calendar;
public class timetest {
public static void main(String[] args) {     Calendar cal=Calendar.getInstance();
    int year=cal.get(Calendar.YEAR) ;
          int month=cal.get(Calendar.MONTH)+1;
       
       
    
    year=2008;
    month=2;
    cal.set(Calendar.YEAR, year);
    cal.set(Calendar.MONTH, month - 1);
    
    
    year=cal.get(Calendar.YEAR) ;
    month=cal.get(Calendar.MONTH)+1;



System.out.println(year+"年"+month+"月");
}}
/////////////////
为什么结果是2008年/3月,而不是2008年/2月。

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【xiaomage20042001】截止到2008-07-30 21:40:13的历史汇总数据(不包括此帖):
    发帖的总数量:5                        发帖的总分数:110                      每贴平均分数:22                       
    回帖的总数量:4                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:5                        结贴的总分数:110                      
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!

    取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=xiaomage20042001
      

  2.   

    month是从0开始算得,2就是3月
      

  3.   

    把month=2。改为month=3;结果还一样啊
      

  4.   

    import java.util.Calendar; 
    /** 
    * Program 的摘要说明 
    */ 
    public class Program 

    public static void main(String[] args) 

    // 
    // TODO: 在此处添加启动应用程序的代码 
    // 
    Calendar cal=Calendar.getInstance(); 
    int imonth = 0; 
    ///////////////////////////////////// 
    cal.set(Calendar.MONTH, 0); 
    imonth = cal.get(Calendar.MONTH) + 1; 
    System.out.println(imonth); 
    ///////////////////////////////////// 
    cal.set(Calendar.MONTH, 1); 
    imonth = cal.get(Calendar.MONTH) + 1; 
    System.out.println(imonth); 
    ///////////////////////////////////// 
    cal.set(Calendar.MONTH, 2); 
    imonth = cal.get(Calendar.MONTH) + 1; 
    System.out.println(imonth); 
    ///////////////////////////////////// 
    cal.set(Calendar.MONTH, 3); 
    imonth = cal.get(Calendar.MONTH) + 1; 
    System.out.println(imonth); 
    }
    }
    第二个和第三个结果一样啊
      

  5.   

     Calendar cal=Calendar.getInstance(); 
    改成自定义赋值就OK了。日子要小于30