Friday, October 10, 2025
HomeLanguagesJavaTemporalAdjusters previousOrSame() method in Java with Examples

TemporalAdjusters previousOrSame() method in Java with Examples

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)

RELATED ARTICLES

Most Popular

Dominic
32348 POSTS0 COMMENTS
Milvus
87 POSTS0 COMMENTS
Nango Kala
6715 POSTS0 COMMENTS
Nicole Veronica
11878 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11941 POSTS0 COMMENTS
Shaida Kate Naidoo
6837 POSTS0 COMMENTS
Ted Musemwa
7097 POSTS0 COMMENTS
Thapelo Manthata
6791 POSTS0 COMMENTS
Umr Jansen
6791 POSTS0 COMMENTS