2011-10-29 42 views
6

tôi đang cố gắng sử dụng ngày Picker và trên Chọn tôi muốn hiển thị ngày tháng theo định dạng sauAndroid DatePicker tên hiển thị theo tháng

[tên Tháng] [ngày], [năm]

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

rằng cho tháng dưới dạng một số. Cách lấy tên của tháng thay vì số.

Trả lời

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

sử dụng một mảng và nhận String bởi MONTHS[monthNumber].

+0

Tôi bối rối điều này không được tích hợp trong Android theo mặc định. – Mirko

+2

Cho đến khi bạn nghe nói về nội địa hóa .. – user802421

3

Sử dụng một câu lệnh switch:

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

, vv

+3

Câu trả lời của Yashwanth đơn giản hơn rất nhiều. Không biết tại sao tôi không nghĩ về điều đó ngay lập tức ... – NickLH

1

Ví dụ:

//if or swith 

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

     // Do something like 

     // String Month = "FEBRUARY"; 


} 
4

Hãy thử điều này:

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

đầu ra sẽ January nếu Tháng == 1; Hoặc bạn có thể sử dụng này

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

Sau đó, bạn sẽ có được Jan

+0

Cảm ơn bạn @pajus_cz –

1

Sau khi nhận được năm, tháng và ngày, bạn có thể định dạng ngày của bạn theo cách này:

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

DateFormat.MEDIUM làm cho ngày được hiển thị là ngày 12 tháng 1 năm 1952, chẳng hạn. Nếu bạn muốn hiển thị tên đầy đủ của tháng, bạn có thể sử dụng DateFormat.LONG.

Đây là cách dễ nhất, theo ý kiến ​​của tôi.

2

Sau khi nhận được năm, tháng và ngày, bạn có thể định dạng ngày của bạn theo cách này:

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

DateFormat.MEDIUM làm cho ngày hiển thị như ngày 12 Tháng Một 1952, trong ví dụ. Nếu bạn muốn hiển thị tên đầy đủ của tháng, bạn có thể sử dụng DateFormat.LONG.

Các vấn đề liên quan