import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.temporal.TemporalAdjusters;
public class Main {
public static void main
(String[] args
) { // Replace JVM's ZoneId, ZoneId.systemDefault() with the applicable one e.g.
// ZoneId.of("America/Los_Angeles")
LocalDate today = LocalDate.now(ZoneId.systemDefault());
// Next Sunday
LocalDate nextSun = today.with(TemporalAdjusters.next(DayOfWeek.SUNDAY));
// Same (if it's Sunday today) of next Sunday
LocalDate sameOrNextSun = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));
System.
out.
println(sameOrNextSun
);
// Previous Sunday
LocalDate previousSun = today.with(TemporalAdjusters.previous(DayOfWeek.SUNDAY));
System.
out.
println(previousSun
);
// Same (if it's Sunday today) of previous Sunday
LocalDate sameOrPreviousSun = today.with(TemporalAdjusters.previousOrSame(DayOfWeek.SUNDAY));
System.
out.
println(sameOrPreviousSun
); }
}
aW1wb3J0IGphdmEudGltZS5EYXlPZldlZWs7CmltcG9ydCBqYXZhLnRpbWUuTG9jYWxEYXRlOwppbXBvcnQgamF2YS50aW1lLlpvbmVJZDsKaW1wb3J0IGphdmEudGltZS50ZW1wb3JhbC5UZW1wb3JhbEFkanVzdGVyczsKCnB1YmxpYyBjbGFzcyBNYWluIHsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKCQkvLyBSZXBsYWNlIEpWTSdzIFpvbmVJZCwgWm9uZUlkLnN5c3RlbURlZmF1bHQoKSB3aXRoIHRoZSBhcHBsaWNhYmxlIG9uZSBlLmcuCgkJLy8gWm9uZUlkLm9mKCJBbWVyaWNhL0xvc19BbmdlbGVzIikKCQlMb2NhbERhdGUgdG9kYXkgPSBMb2NhbERhdGUubm93KFpvbmVJZC5zeXN0ZW1EZWZhdWx0KCkpOwoKCQkvLyBOZXh0IFN1bmRheQoJCUxvY2FsRGF0ZSBuZXh0U3VuID0gdG9kYXkud2l0aChUZW1wb3JhbEFkanVzdGVycy5uZXh0KERheU9mV2Vlay5TVU5EQVkpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4obmV4dFN1bik7CgoJCS8vIFNhbWUgKGlmIGl0J3MgU3VuZGF5IHRvZGF5KSBvZiBuZXh0IFN1bmRheQoJCUxvY2FsRGF0ZSBzYW1lT3JOZXh0U3VuID0gdG9kYXkud2l0aChUZW1wb3JhbEFkanVzdGVycy5uZXh0T3JTYW1lKERheU9mV2Vlay5TVU5EQVkpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oc2FtZU9yTmV4dFN1bik7CgoJCS8vIFByZXZpb3VzIFN1bmRheQoJCUxvY2FsRGF0ZSBwcmV2aW91c1N1biA9IHRvZGF5LndpdGgoVGVtcG9yYWxBZGp1c3RlcnMucHJldmlvdXMoRGF5T2ZXZWVrLlNVTkRBWSkpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihwcmV2aW91c1N1bik7CgoJCS8vIFNhbWUgKGlmIGl0J3MgU3VuZGF5IHRvZGF5KSBvZiBwcmV2aW91cyBTdW5kYXkKCQlMb2NhbERhdGUgc2FtZU9yUHJldmlvdXNTdW4gPSB0b2RheS53aXRoKFRlbXBvcmFsQWRqdXN0ZXJzLnByZXZpb3VzT3JTYW1lKERheU9mV2Vlay5TVU5EQVkpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oc2FtZU9yUHJldmlvdXNTdW4pOwoJfQp9