fork download
  1. import java.time.LocalDate;
  2. import java.time.YearMonth;
  3. import java.time.format.DateTimeFormatter;
  4. import java.time.format.DateTimeFormatterBuilder;
  5. import java.time.temporal.ChronoField;
  6. import java.util.Locale;
  7.  
  8. public class Main {
  9. public static void main(String[] args) {
  10. //Test
  11. System.out.println(lastDateOfMonth(LocalDate.of(2014, 1, 13)));
  12. System.out.println(lastDateOfMonth(LocalDate.of(2014, 2, 13)));
  13. System.out.println(lastDateOfMonth(LocalDate.of(2016, 2, 13)));
  14. System.out.println(lastDateOfMonth(LocalDate.of(2014, 4, 13)));
  15. }
  16.  
  17. static LocalDate lastDateOfMonth(LocalDate date) {
  18. DateTimeFormatter dtf = new DateTimeFormatterBuilder()
  19. .parseDefaulting(ChronoField.DAY_OF_MONTH, 31)
  20. .appendPattern("uuuu-MM")
  21. .toFormatter(Locale.ENGLISH);
  22. return LocalDate.parse(YearMonth.from(date).toString(), dtf);
  23. }
  24. }
  25.  
Success #stdin #stdout 0.09s 54812KB
stdin
Standard input is empty
stdout
2014-01-31
2014-02-28
2016-02-29
2014-04-30