Calendar.getDisplayName返回null

时间:2015-07-20 23:14:29

标签: android

我试图通过以下方式获取一个月的显示名称:

    final Calendar c = Calendar.getInstance();
    String monthName=c.getDisplayName(monthOfYear, Calendar.SHORT, Locale.US);//monthOfYear: 6

但该函数始终返回null

请帮帮我。

2 个答案:

答案 0 :(得分:2)

  

否则,我如何才能获得某个特定月份的显示名称。

步骤1:为该特定月份的日期创建Calendar

步骤2:在步骤1的getDisplayName(Calendar.MONTH, Calendar.SHORT, Locale.US)对象上调用Calendar

步骤3:啤酒。

注意:步骤#3是可选的。

答案 1 :(得分:2)

你可能想考虑放弃Calendar,这对于这么简单的任务来说有点重要:

int monthOfYear = Calendar.JULY; // 6
String monthName = new DateFormatSymbols(Locale.US).getShortMonths()[monthOfYear];

请注意,您可以在不同月份之后缓存(即使在static变量中)getShortMonths()的返回值和索引,请注意,编号从0(= JANUARY)开始。值得缓存,因为getShortMonths()每次返回一个新的铸币阵列。

如果您定位的是>请考虑使用DateFormatSymbols.getInstance(Locale.US)代替new API级别9。