java - 如何使用字符串作为月份名称参数

标签 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 字符串,该字符串包含月份名称。

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

最佳答案

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

P.S: getMonth 对于表示月份的变量来说确实不是一个好名字。这不是 setter/getter 吧?

关于java - 如何使用字符串作为月份名称参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19448277/

相关文章:

java - 浮点运算和 double ?

java - 在 Java 中使用 PBEWithHmacSHA256AndAES_256 加密要存储在文件中的密码

date - SAS:以 YY 格式获取当前年份

javascript - 格式已删除 ISO 8601 日期

java - 更改日历时间(java.util.Calendar)

java - 如何从 ArrayList<String> 中删除文本文档以外的所有元素?

java - RxJava - 在 groupBy 之后映射不同的函数

javascript - 如何在 JavaScript 中格式化日期?

c++ - 如何使用 C++ 从命令提示符中提取信息?

asp.net - 禁用 asp 上的 future 日期 :calendar control