如何在 java 中获取给定月份和年份的最后日期

How to get the last date of given month and year in java

对于给定月份和年份的用户,我有以下格式的日期,例如02/15 MM/yy 格式。我想找到该月的最后一天,如果是闰年,它应该 return 29 否则不需要 return 28。谁能告诉我该怎么做?

Java 8 中,您可以执行以下操作:

private static final String DATE_PATTERN = "MM/yy";

public int getLastDayOfMonth(String dateString) {
    DateTimeFormatter pattern = DateTimeFormatter.ofPattern(DATE_PATTERN);
    YearMonth yearMonth = YearMonth.parse(dateString, pattern);
    LocalDate date = yearMonth.atEndOfMonth();
    return date.lengthOfMonth();
}

Java 的早期版本中,您可以:

public int getLastDayOfMonth(String dateString) throws ParseException {
    DateFormat dateFormat = new SimpleDateFormat(DATE_PATTERN);
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(dateFormat.parse(dateString));
    return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
}