How about using Joda-Time. It's a far better date-time API to work with (And January
means january here. It's not like Calendar, which uses 0-based
index for months).
You can use AbstractDateTime#toString( pattern )
method to format the date in specified format:
DateTime date = DateTime.now();
String month = date.toString("MMM");
If you want month name for a particular month number, you can do it like this:
int month = 3;
String monthName = DateTime.now().withMonthOfYear(month).toString("MMM");
The above approach uses your JVM’s current default Locale for the language of the month name. You want to specify a Locale object instead.
String month = date.toString( "MMM", Locale.CANADA_FRENCH );