Open In App

TemporalAdjusters previousOrSame() method in Java with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

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);
    }
}


Output:

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);
    }
}


Output:

Previous or same date having THURSDAY for localdate 2018-02-23 is: 2018-02-22

References: https://docs.oracle.com/javase/10/docs/api/java/time/temporal/TemporalAdjusters.html#previousOrSame(java.time.DayOfWeek)



Last Updated : 17 Apr, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads