Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert String month to integer java

How do I convert a month string to integer?

On click method I want to display the date which is selected but if the date has an event it should display something more about the event. The method to check for the holiday event requires integer values.

Here's the code:

UPDATED:

@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;
    }
like image 417
input Avatar asked Nov 25 '25 21:11

input


2 Answers

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

See

  • IDE one demo
like image 83
jmj Avatar answered Nov 27 '25 12:11

jmj


There are only 12 month, so just normalize the string and just do string comparison. I wouldn't try to over-optimize.

like image 25
Jin Avatar answered Nov 27 '25 11:11

Jin



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!