The previousOrSame(DayOfWeek) method of a TemporalAdjusters class is used to return a previous or same day-of-week TemporalAdjuster object which can be used to get a new Date object which is the previous or same date with the same matching day-of-week as passed as a parameter from any Date object on which this TemporalAdjuster is applied. Syntax:
public static TemporalAdjuster previousOrSame(DayOfWeek dayOfWeek)
Parameters: This method accepts dayOfWeek which can be used to get a new Date object which is the previous or same date with the same matching day-of-week as passed. It should not be null. Return value: This method return a previous or same day-of-week TemporalAdjuster object. Below programs illustrate the TemporalAdjusters.previousOrSame() method: Program 1:Â
Java
// Java program to demonstrate // TemporalAdjusters.previousOrSame() Â
import java.time.*; import java.time.temporal.*; Â
public class GFG { Â Â Â Â public static void main(String[] args) Â Â Â Â { Â
        // Get TemporalAdjuster with the         // previousOrSame() of month adjuster         TemporalAdjuster temporalAdjuster             = TemporalAdjusters                   .previousOrSame(                       DayOfWeek.FRIDAY); Â
        // Using adjuster for local date-time         LocalDate localDate             = LocalDate.of( 2020 , 10 , 30 );         LocalDate previousOrSameDOW             = localDate.with(temporalAdjuster); Â
        // Print         System.out.println(             "Previous or same date "             + "having FRIDAY for localdate "             + localDate + " is: "             + previousOrSameDOW);     } } |
Previous or same date having FRIDAY for localdate 2020-10-30 is: 2020-10-30
Program 2:Â
Java
// Java program to demonstrate // TemporalAdjusters previousOrSame() method Â
import java.time.*; import java.time.temporal.*; Â
public class GFG { Â Â Â Â public static void main(String[] args) Â Â Â Â { Â
        // Get TemporalAdjuster with the         // previousOrSame() day of week adjuster         TemporalAdjuster temporalAdjuster             = TemporalAdjusters                   .previousOrSame(                       DayOfWeek.THURSDAY); Â
        // Using adjuster for local date time         LocalDate localDate             = LocalDate.of( 2018 , 02 , 23 );         LocalDate previousOrSameDOW             = localDate.with(temporalAdjuster); Â
        // Print         System.out.println(             "Previous or same date "             + "having THURSDAY for localdate "             + localDate + " is: "             + previousOrSameDOW);     } } |
Previous or same date having THURSDAY for localdate 2018-02-23 is: 2018-02-22