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

问题描述:

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

+3

[获得最后一个月的在给定的字符串日期的日子](http://*.com/q/13624442/1700321)。 – 2015-02-10 09:56:38

+1

请注意,您实际想要使用的时间格式为:MM/yy – nrainer 2015-02-10 10:07:55

由于的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); 
}