[java] How to get Month Name from Calendar?

Joda-Time

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");

Month Name From Number

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");

Localize

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 );