1

月のintを関数に渡して、短い月の名前を取得しようとしています。しかし、常に「Jan」を返します

関数は次のとおりです。

public static String getMonthName_Abbr(int month) {
    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.MONTH, month);
    SimpleDateFormat month_date = new SimpleDateFormat("MMM");
    String month_name = month_date.format(month);
    return month_name; 
}
4

1 に答える 1

2

それ自体ではなく、単に呼び出しに渡す必要がありcal.getTime()ます。formatmonth

http://ideone.com/kKrGY9で動作デモを参照してください。

;ではなくformata を期待する方法を見て、コードが指定どおりに機能した理由がわかりません。しかし、どういうわけかそれがあった場合、おそらく の値は小さい整数であり、エポック (1970 年 1 月 1 日) 前後の時間として解釈されました。ちょっとした考えですが、いずれにせよ、あなたの関数はその 1 つの小さな変更で動作します。Dateintmonth

于 2012-12-23T01:23:43.467 に答える