The adjustInto() method of java.time.DayOfWeek is an in-built function in Java which takes a Temporal object specifying a date and returns a new Temporal object of the same observable type as the input with the day-of-week changed to be the same as specified DayOfWeek constant. Note that this method adjusts forwards or backwards within a Monday to Sunday week.
Method Declaration:
public Temporal adjustInto(Temporal temporal)
Syntax:
Temporal newLocalDate = DayOfWeek.ANYWEEKDAY.adjustInto(Temporal temporal)
Parameters: This method takes temporal as parameter where:
Return Value: The function returns an adjusted Temporal object which is the date adjusted according to specified Day of the Week.
Below programs illustrate the above method:
Program 1:
import java.time.*;import java.time.DayOfWeek;import java.time.temporal.Temporal;  class DayOfWeekExample {    public static void main(String[] args)    {        // Set a Local Date whose day is found        LocalDate localDate1            = LocalDate.of(1947, Month.AUGUST, 15);          // Find the day from the Local Date        DayOfWeek dayOfWeek1            = DayOfWeek.from(localDate1);          // Printing the Local Date        System.out.println(localDate1                           + " which is "                           + dayOfWeek1.name());          // Adjust the Date to Monday from Friday        Temporal localDate2            = DayOfWeek.MONDAY                  .adjustInto(localDate1);          // Find the day from the new Local date        DayOfWeek dayOfWeek2            = DayOfWeek.from(localDate2);          // Printing the new Local Date        System.out.println(localDate2                           + " which is "                           + dayOfWeek2.name());    }} |
1947-08-15 which is FRIDAY 1947-08-11 which is MONDAY
Program 2:
import java.time.*;import java.time.DayOfWeek;import java.time.temporal.Temporal;  class DayOfWeekExample {    public static void main(String[] args)    {        // Set a Local Date whose day is found        LocalDate localDate1            = LocalDate.of(2019, Month.MARCH, 18);          // Find the day from the Local Date        DayOfWeek dayOfWeek1            = DayOfWeek.from(localDate1);          // Printing the Local Date        System.out.println(localDate1                           + " which is "                           + dayOfWeek1.name());          // Adjust the Date to Wednesday from Monday        Temporal localDate2            = DayOfWeek.WEDNESDAY                  .adjustInto(localDate1);          // Find the day from the new Local date        DayOfWeek dayOfWeek2            = DayOfWeek.from(localDate2);          // Printing the new Local Date        System.out.println(localDate2                           + " which is "                           + dayOfWeek2.name());    }} |
2019-03-18 which is MONDAY 2019-03-20 which is WEDNESDAY
