2012-07-06 47 views
2

如何将月份字符串转换为整数?将字符串月份转换为整数java

点击方法我想显示所选的日期,但如果日期有事件,它应该显示更多有关事件的信息。检查假日事件的方法需要整数值。

下面的代码:

更新:

@Override 
public void onClick(View view) 
    { 
     int m = 0; 
     int d, y; 
     String date_month_year = (String) view.getTag(); 
     selectedDayMonthYearButton.setText("Selected: " + date_month_year); 

     String [] dateAr = date_month_year.split("-"); 
     Log.d(tag, "Date Split: " + dateAr[0] + " " + dateAr[1] + " " + dateAr[2]); 
     y = Integer.parseInt(dateAr[2]); 



     try { 
      Calendar c1 = Calendar.getInstance(); 
      c1.setTime(new SimpleDateFormat("MMM").parse(dateAr[1])); 
      m = c1.get((Calendar.MONTH) + 1); 
     } 
     catch (ParseException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     //int m = Integer.parseInt(dateAr[1]); 
     d = Integer.parseInt(dateAr[0]); 
     Log.d(tag, "Date forward: " + d + " " + m + " " + y); 

     if (isHoliday(d, m, y)) 
     { 
      Intent i = new Intent(view.getContext(), HijriEvents.class); 
      i.putExtra("date_string", date_month_year); 
      startActivity(i); 

     } 


     try 
      { 
       Date parsedDate = dateFormatter.parse(date_month_year); 
       Log.d(tag, "Parsed Date: " + parsedDate.toString()); 

      } 
     catch (ParseException e) 
      { 
       e.printStackTrace(); 
      } 
    } 

    public Boolean isHoliday(int d, int m, int y) 
    { 
     HijriCalendar hijri = new HijriCalendar(y, m, d); 
     if (!hijri.checkIfHoliday().contentEquals("")) 
      return true; 
     return false; 
    } 
+0

可以使用的SimpleDateFormat和使用格式MM为一个月,你会得到你的约会每月数,然后用拆裂它( )方法 – Houcine 2012-07-06 22:13:28

回答

13
Calendar cal = Calendar.getInstance(); 
cal.setTime(new SimpleDateFormat("MMM").parse("July")); 
int monthInt = cal.get(Calendar.MONTH) + 1; 

+0

它抛出这个错误:'未处理的异常类型ParseException'即使我用try和catch修复它,它也会抛出一个错误。 – input 2012-07-06 21:43:33

+0

它抛出了什么异常? – 2012-07-06 21:44:45

+0

请参阅:http://ideone.com/afBSj – 2012-07-06 21:45:42

1

只有12个月有,所以才规范字符串,只是做字符串比较。我不会试图过度优化。