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

时间:2015-02-10 09:54:08

标签: java date

对于用户指定的月份和年份,我的日期格式如下,例如02/15 MM/yy格式。我想找到这个月的最后一个日期,如果它是闰年它应该返回29否则不需要返回28.可以有人告诉我该怎么做吗?

1 个答案:

答案 0 :(得分:4)

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);
}