Month name from Month Numbers in android

Android picture Android · Apr 30, 2014 · Viewed 10.4k times · Source

I have a problem with converting the month number into month Name that is if month number 1 or 2 its returning March only. But for 1 it should return Feb right ? Previously i had this same problem for one day but next day it automatically worked i don;t How? But today again its showing like this I need some help to FIX it

public static String getMonthShortName(int monthNumber) {
    String monthName = "";

    if (monthNumber >= 0 && monthNumber < 12)
        try {
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.MONTH, monthNumber);

            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMM");
            //simpleDateFormat.setCalendar(calendar);
            monthName = simpleDateFormat.format(calendar.getTime());
        } catch (Exception e) {
            if (e != null)
                e.printStackTrace();
        }
    return monthName;
}

if monthNumber 1 or 2 in this statement

monthName = simpleDateFormat.format(calendar.getTime());

its returning Mar (March) only. But for the other numbers its working fine. Can any one of help me out of this ?

Answer

Anchit Mittal picture Anchit Mittal · Apr 30, 2014

Following code for returning the right month name.

Calendar cal=Calendar.getInstance();
SimpleDateFormat month_date = new SimpleDateFormat("MMMM");
int monthnum=5;
cal.set(Calendar.MONTH,monthnum);
String month_name = month_date.format(cal.getTime());

Log.e("",""+month_name);

Here the output is June