import java.time.*;
import java.time.format.*;
import java.time.temporal.*;
class Example
{
private static void showDateInfo(LocalDate ld) {
int weekOfYear = ld.get(ChronoField.ALIGNED_WEEK_OF_YEAR);
int dayOfWeek = ld.getDayOfWeek().getValue();
System.
out.
println(ld.
format(DateTimeFormatter.
ISO_LOCAL_DATE) + " is week " + weekOfYear
+ ", day " + dayOfWeek
); }
{
LocalDate currentLocalDate = LocalDate.of(2019, 6, 30);
showDateInfo(currentLocalDate);
int dayOfWeek = currentLocalDate.getDayOfWeek().getValue();
int weekOfYear = currentLocalDate.get(ChronoField.ALIGNED_WEEK_OF_YEAR);
LocalDate resultLocalDate = currentLocalDate
.minusYears(1)
.with(ChronoField.ALIGNED_WEEK_OF_YEAR, weekOfYear)
.with(ChronoField.DAY_OF_WEEK, dayOfWeek);
showDateInfo(resultLocalDate);
}
}
aW1wb3J0IGphdmEudGltZS4qOwppbXBvcnQgamF2YS50aW1lLmZvcm1hdC4qOwppbXBvcnQgamF2YS50aW1lLnRlbXBvcmFsLio7CgpjbGFzcyBFeGFtcGxlCnsKCXByaXZhdGUgc3RhdGljIHZvaWQgc2hvd0RhdGVJbmZvKExvY2FsRGF0ZSBsZCkgewoJCWludCB3ZWVrT2ZZZWFyID0gbGQuZ2V0KENocm9ub0ZpZWxkLkFMSUdORURfV0VFS19PRl9ZRUFSKTsKCQlpbnQgZGF5T2ZXZWVrID0gbGQuZ2V0RGF5T2ZXZWVrKCkuZ2V0VmFsdWUoKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4obGQuZm9ybWF0KERhdGVUaW1lRm9ybWF0dGVyLklTT19MT0NBTF9EQVRFKSArICIgaXMgd2VlayAiICsgd2Vla09mWWVhciArICIsIGRheSAiICsgZGF5T2ZXZWVrKTsKCX0KCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJICAgIExvY2FsRGF0ZSBjdXJyZW50TG9jYWxEYXRlID0gTG9jYWxEYXRlLm9mKDIwMTksIDYsIDMwKTsKCSAgICBzaG93RGF0ZUluZm8oY3VycmVudExvY2FsRGF0ZSk7CgkgICAgaW50IGRheU9mV2VlayA9IGN1cnJlbnRMb2NhbERhdGUuZ2V0RGF5T2ZXZWVrKCkuZ2V0VmFsdWUoKTsKCSAgICBpbnQgd2Vla09mWWVhciA9IGN1cnJlbnRMb2NhbERhdGUuZ2V0KENocm9ub0ZpZWxkLkFMSUdORURfV0VFS19PRl9ZRUFSKTsKCSAgICBMb2NhbERhdGUgcmVzdWx0TG9jYWxEYXRlID0gY3VycmVudExvY2FsRGF0ZQogICAgICAgICAgICAubWludXNZZWFycygxKQogICAgICAgICAgICAud2l0aChDaHJvbm9GaWVsZC5BTElHTkVEX1dFRUtfT0ZfWUVBUiwgd2Vla09mWWVhcikKICAgICAgICAgICAgLndpdGgoQ2hyb25vRmllbGQuREFZX09GX1dFRUssIGRheU9mV2Vlayk7CgkgICAgc2hvd0RhdGVJbmZvKHJlc3VsdExvY2FsRGF0ZSk7Cgl9Cn0=