如何将字符串用作月份名称参数

时间:2013-10-18 11:11:38

标签: java date calendar java.util.date

我有一个excel文件,其日期格式为31/08/13。我需要做的是根据日期计算每月利息。问题是我需要知道一个月的天数。

以下是我在循环中获取月份名称的方法:

getMonth = new DateFormatSymbols().getMonths()[currentMonth-1]; //february

其中getMonth是字符串,currentMonth是月份数。

现在,我正试图通过以下方式获取天数:

Calendar mycal = new GregorianCalendar(1999, Calendar.FEBRUARY, 1);
int daysInMonth = mycal.getActualMaximum(Calendar.DAY_OF_MONTH); // 28

我的问题是我不能(及其逻辑)用FEBRUARY字符串替换getMonth,该字符串包含月份名称。

我知道有一种更简单的方法可以实现它,但我真的无法发现它。

1 个答案:

答案 0 :(得分:4)

Calendar.FEBRUARY类中Calendar和其他常量的类型为int。您应该将getMonth更改为int,以使构造函数进行编译。或者,直接在构造函数参数中使用currentMonth - 1,并通过创建getMonth变量。

P.S: getMonth对于表示月份的变量来说真的不是一个好名字。它不是一个吸气剂吗?