他の答えは正しいです。java.util.Calendar クラスは、月数にゼロベースのカウントを使用します。java.util.Date/Calendar クラスの使用を避けるべき多くの理由の 1 つです。
Joda-Time 2.3 ライブラリを使用すると、この種の作業が簡単になります。ありがたいことに、1 月 = 1、12 月 = 12 などの 1 ベースのカウントを賢明に使用しています。
java.util.Calendar cal = java.util.Calendar.getInstance();
// Though not required here for this one purpose, it's better to specify a time zone than rely on default.
DateTimeZone timeZone = DateTimeZone.forID( "America/Montreal" );
DateTime dateTime = new DateTime( cal.getTime(), timeZone );
// Extract month. Note how these two lines call similar sounding methods that are actually quite different.
// One returns a primitive int value. The other returns an object of nested class DateTime.Property.
int monthNumber = dateTime.getMonthOfYear();
String monthName = dateTime.monthOfYear().getAsText( Locale.FRENCH );
コンソールにダンプ…</p>
System.out.println( "dateTime: " + dateTime );
System.out.println( "monthNumber: " + monthNumber );
System.out.println( "monthName: " + monthName );
実行すると…</p>
dateTime: 2014-02-10T02:58:35.386-05:00
monthNumber: 2
monthName: février