2011-08-30 63 views
2

我有以下程序,但它错误地显示了月份。请帮忙。将字符串转换为android日历日期的问题

 date1="31/12/2011"; 
       SimpleDateFormat formatter = new SimpleDateFormat("dd/mm/yyyy"); 
     try {  
      d1 = (Date)formatter.parse(date1); 
      System.out.println("dateeeeeeeeeeeeeeee " + date1); 

      tdy1=Calendar.getInstance(); 
      System.out.println("tdy mnthhhhhhhhhhh " + tdy1.get(Calendar.MONTH)); 
      tdy1.setTime(d1); 

     System.out.println("Month of date1= " + tdy1.get(Calendar.MONTH));  
     //catch exception 
    } catch (ParseException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

而放出来的是:
月日期1 = 0 笏可能是问题?

回答

15

尝试下面代码

String date1 = "31/12/2011"; 
    SimpleDateFormat form = new SimpleDateFormat("dd/MM/yyyy"); 
    java.util.Date d1 = null; 
    Calendar tdy1; 

    try { 
     d1 = form.parse(date1); 
    } catch (java.text.ParseException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    tdy1 = Calendar.getInstance(); 
    System.out.println("tdy mnthhhhhhhhhhh " + tdy1.get(Calendar.MONTH)); 
    tdy1.setTime(d1); 

    System.out.println("Month of date1= " + tdy1.get(Calendar.MONTH)); 

注” 的Calendar.MONTH是返回整数值,它是从0到11的装置开始0 = JANUARY和11 = DECEMBER

更多详细检查Calendar

+1

由于您的回答被接受,您可能应该提及问题所在,因为Calendar.MONTH并非错误部分... – MatF