Calendar
以下を使用して実際の月を取得しようとしています。
Calendar c = Calendar.getInstance();
String time = String.valueOf(c.get(Calendar.MONTH));
システム設定「設定 --> 日付と時刻」によると、実際の月は 10 ですが、 get(Calendar.MONTH)
09 が返されます。
月の値は から始まること0
に注意してください。October
実際には 月番号9
です。
http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Calendar.html#MONTH
Calendar.MONTH
ゼロベースの月を返すため、実際の月より 1 少ない月を返します 1 を足して正しい値を取得します
String time = String.valueOf(c.get(Calendar.MONTH)+1);
Calendar.MONTH
戻り値
0 for 1st month (jan)
1 for 2nd month (feb)
.
.
11 for 12th month (dec)
コードを次のように変更します
String time = String.valueOf(c.get(Calendar.MONTH)+1);// added 1
Calendar.MONTH の値は、1 から 12 ではなく 0 から 11 で始まります。
Calendar.JANUARY の値を確認できます。JANUARY は 1 ではなく 0 です。
参照: http://developer.android.com/reference/java/util/Calendar.html#JANUARY