1

我试图通过将月份 int 传递给函数来获得一个简短的月份名称。但它总是返回'Jan'

这是功能:

public static String getMonthName_Abbr(int month) {
    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.MONTH, month);
    SimpleDateFormat month_date = new SimpleDateFormat("MMM");
    String month_name = month_date.format(month);
    return month_name; 
}
4

1 回答 1

2

你只需要传递cal.getTime()给你的format调用,而不是month它本身。

请参阅http://ideone.com/kKrGY9上的工作演示

我不确定为什么您的代码按给定的方式工作,看看format期望 aDate而不是int; 然而,如果它以某种方式发生了,也许month, 作为一个小整数的值被解释为一个时代(1970 年 1 月 1 日)周围的时间。只是一个想法,但无论如何,您的功能将与这个小改动一起工作。

于 2012-12-23T01:23:43.467 回答