安卓日期选择器显示月份名称

6

我正在尝试使用日期选择器,并在选定日期后以以下格式显示日期:

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

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

提供了月份的数字,如何获取月份的名称而不是数字。

6个回答

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

使用一个数组,通过 MONTHS[monthNumber] 获取字符串。


我感到困惑,为什么这不是 Android 默认集成的。 - Paranoid Android

7

试试这个:

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

如果Month等于1,输出将是January;或者你可以使用以下方法:

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

然后您会得到Jan

谢谢你 @pajus_cz。 - Anant Shah

3

使用 switch 语句:

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

etc.


3
Yashwanth的回答更简单。不知道为什么我没能立刻想到那个... - NickLH

2
获取年、月和日后,您可以按照以下方式格式化日期:
DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);

DateFormat.MEDIUM将日期显示为Jan 12, 1952的格式。 如果您想要显示完整的月份名称,可以使用DateFormat.LONG。


1

例子:

//if or swith 

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

       // Do something like

       // String Month = "FEBRUARY";  


 }

1
获取年、月和日后,您可以按以下方式格式化日期:
DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);

DateFormat.MEDIUM使日期显示为Jan 12, 1952,例如。 如果想要显示完整的月份名称,可以使用DateFormat.LONG。

在我看来,这是最简单的方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接