Java 确定给定月份的天数

Java 确定给定月份的天数,java,java.util.calendar,Java,Java.util.calendar,我正在根据给定月份的天数进行计算 确定本年度月份 确定当前月份的天数 问题 noOfDaysOfMonth似乎没有给我正确的天数 例如year=2018,month=8给了我30,我希望31LocalDate::lengthOfMonth 如果使用Java8,则可以访问API 具体来说,就是方法 月份以0=一月开始;月份=8月,9月只有30天 为了避免这种情况,请使用日历。例如,8月而不是8月。LengthOfMonth方法用于此。此外,我认为不应该再使用CalendarAPI了。它已经很旧了

我正在根据给定月份的天数进行计算

确定本年度月份

确定当前月份的天数

问题

noOfDaysOfMonth
似乎没有给我正确的天数

例如
year=2018,month=8
给了我
30
,我希望
31

LocalDate::lengthOfMonth
如果使用Java8,则可以访问API

具体来说,就是方法


月份以0=一月开始;月份=8月,9月只有30天


为了避免这种情况,请使用日历。例如,8月而不是8月。

LengthOfMonth
方法用于此。此外,我认为不应该再使用
Calendar
API了。它已经很旧了

LocalDate date = LocalDate.of(2019, 6, 20);
int days = date.lengthOfMonth();


使用
java.time.LocalDate
…可能需要关闭一个。如果月份以0开始,则月份=8将是9月,为期30天。还有:使用LocalDateCorrect答案。此外,如果将几个月作为一个整体来学习,这门课可能会很有用
YearMonth.now().lengthOfMonth()
在其他作品中,如果您的目标API级别>25,那么您可以使用它。在发布此评论时,这仅占39%的市场份额。。。
int year = Integer.valueOf(Year);
int month = Integer.valueOf(Month);
Calendar calendarD = new GregorianCalendar(year, month, 1);
int noOfDaysOfMonth = calendarD.getActualMaximum(Calendar.DAY_OF_MONTH);
int length = LocalDate.now().lengthOfMonth();
LocalDate date = LocalDate.of(2019, 6, 20);
int days = date.lengthOfMonth();