2011-10-29 30 views
6

私が使用日付ピッカーをしようとしていますし、選択に、私は次の形式で日付を表示したいAndroidの日付ピッカーの表示月名

[月名] [日付]、[年]

final Calendar c = Calendar.getInstance(); 
    mYear = c.get(Calendar.YEAR)-13; 
    mMonth = c.get(Calendar.MONTH); 
    mDay = c.get(Calendar.DAY_OF_MONTH); 

ことMonthを数字にします。数字の代わりに月の名前を得る方法。

答えて

18
public static final String[] MONTHS = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; 

を配列を使用してMONTHS[monthNumber]で文字列を取得します。

+0

これはデフォルトでAndroidに統合されていません。 – Mirko

+2

ローカライゼーションについて聞いてみるまで – user802421

3

は、switchステートメントを使用します。

String monthName; 
switch(mMonth){ 
    case Calendar.JANUARY: 
     monthName = "January"; 
     break; 
    case Calendar.FEBRUARY: 
     monthName = "February"; 
     break; 

など

+3

ヤッシュウォントの答えはずっと簡単です。なぜ私はすぐにそのことを考えていなかったのか分からない... – NickLH

1

例:

//if or swith 

if (c.get(Calendar.MONTH)==(Calendar.FEBRUARY)) { 

     // Do something like 

     // String Month = "FEBRUARY"; 


} 
4

これを試してみてください:月== 1ならば

final Calendar c = Calendar.getInstance(); 
    c.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.getDefault()); 

出力はJanuaryになります。 それとも、あなたが年、月、日を取得した後Jan

+0

ありがとう@pajus_cz –

1

を取得し、あなたがあなたの日付をこのようにフォーマットすることができ、この

c.getDisplayName(Calendar.MONTH, Calendar.SHORT, Locale.getDefault()); 

を使用することができます。

DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM); 

DateFormat.MEDIUMを作りますたとえば、1952年1月12日に表示される日付です。 月のフルネームを表示する場合は、DateFormat.LONGを使用できます。

これは私の意見では最も簡単な方法です。

2

年、月、日を取得した後、あなたはあなたの日付をこのようにフォーマットすることができます。

DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM); 

DateFormat.MEDIUMは一例では、1952年1月12日として表示される日付になります。 月のフルネームを表示する場合は、DateFormat.LONGを使用できます。

関連する問題