import java.time.LocalDate;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.time.temporal.ChronoField;
import java.util.Locale;
public class Main {
public static void main
(String[] args
) { //Test
System.
out.
println(lastDateOfMonth
(LocalDate.
of(2014,
1,
13))); System.
out.
println(lastDateOfMonth
(LocalDate.
of(2014,
2,
13))); System.
out.
println(lastDateOfMonth
(LocalDate.
of(2016,
2,
13))); System.
out.
println(lastDateOfMonth
(LocalDate.
of(2014,
4,
13))); }
static LocalDate lastDateOfMonth(LocalDate date) {
DateTimeFormatter dtf = new DateTimeFormatterBuilder()
.parseDefaulting(ChronoField.DAY_OF_MONTH, 31)
.appendPattern("uuuu-MM")
return LocalDate.parse(YearMonth.from(date).toString(), dtf);
}
}
aW1wb3J0IGphdmEudGltZS5Mb2NhbERhdGU7CmltcG9ydCBqYXZhLnRpbWUuWWVhck1vbnRoOwppbXBvcnQgamF2YS50aW1lLmZvcm1hdC5EYXRlVGltZUZvcm1hdHRlcjsKaW1wb3J0IGphdmEudGltZS5mb3JtYXQuRGF0ZVRpbWVGb3JtYXR0ZXJCdWlsZGVyOwppbXBvcnQgamF2YS50aW1lLnRlbXBvcmFsLkNocm9ub0ZpZWxkOwppbXBvcnQgamF2YS51dGlsLkxvY2FsZTsKCnB1YmxpYyBjbGFzcyBNYWluIHsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKCQkvL1Rlc3QKCQlTeXN0ZW0ub3V0LnByaW50bG4obGFzdERhdGVPZk1vbnRoKExvY2FsRGF0ZS5vZigyMDE0LCAxLCAxMykpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4obGFzdERhdGVPZk1vbnRoKExvY2FsRGF0ZS5vZigyMDE0LCAyLCAxMykpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4obGFzdERhdGVPZk1vbnRoKExvY2FsRGF0ZS5vZigyMDE2LCAyLCAxMykpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4obGFzdERhdGVPZk1vbnRoKExvY2FsRGF0ZS5vZigyMDE0LCA0LCAxMykpKTsKCX0KCQoJc3RhdGljIExvY2FsRGF0ZSBsYXN0RGF0ZU9mTW9udGgoTG9jYWxEYXRlIGRhdGUpIHsKCQlEYXRlVGltZUZvcm1hdHRlciBkdGYgPSBuZXcgRGF0ZVRpbWVGb3JtYXR0ZXJCdWlsZGVyKCkKCQkJCQkJCQkucGFyc2VEZWZhdWx0aW5nKENocm9ub0ZpZWxkLkRBWV9PRl9NT05USCwgMzEpCgkJCQkJCQkJLmFwcGVuZFBhdHRlcm4oInV1dXUtTU0iKQoJCQkJCQkJCS50b0Zvcm1hdHRlcihMb2NhbGUuRU5HTElTSCk7CgkJcmV0dXJuIExvY2FsRGF0ZS5wYXJzZShZZWFyTW9udGguZnJvbShkYXRlKS50b1N0cmluZygpLCBkdGYpOwoJfQp9Cg==