2011-10-29 74 views
6

我想使用的日期選擇器和選擇我要在下面的格式來顯示日期的Android的DatePicker顯示月份名稱

[月份名稱] [日期],[年]

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

Yashwanth的答案簡單得多。不知道爲什麼我沒有想到這一點... – NickLH

1

實施例:

//if or swith 

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

     // Do something like 

     // String Month = "FEBRUARY"; 


} 
4

嘗試這種情況:

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

輸出將是January如果月== 1; 或者你可以使用這個

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

然後你得到Jan

+0

謝謝@pajus_cz –

1

獲取年,月,日之後,您可以格式化你的日期是這樣的:

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。