How do I use next() and nextOrSame() method of TemporalAdjusters?

TemporalAdjusters.next(DayOfWeek) and TemporalAdjusters.nextOrSame(DayOfWeek) are part of java.time.temporal.TemporalAdjusters class in Java. They adjust the date to the next, or the first occurrence of the specified DayOfWeek, or stay at the same date if it’s the desired DayOfWeek.

Here is how to use these methods:

package org.kodejava.datetime;

import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;

public class NextOrSameExample {
    public static void main(String[] args) {
        // Get the current date
        LocalDate date = LocalDate.now();
        System.out.println("Current date: " + date);

        LocalDate nextMonday = date.with(TemporalAdjusters.next(DayOfWeek.MONDAY));
        System.out.println("Next Monday: " + nextMonday);

        LocalDate nextOrSameFriday = date.with(TemporalAdjusters.nextOrSame(DayOfWeek.FRIDAY));
        System.out.println("Next Friday or same day if it's Friday: " + nextOrSameFriday);
    }
}

Output:

Current date: 2024-01-18
Next Monday: 2024-01-22
Next Friday or same day if it's Friday: 2024-01-19

In the above example:

  • LocalDate.now() is used to get the current date.
  • .with(TemporalAdjusters.next(DayOfWeek.MONDAY)) adjusts the date to the next Monday.
  • .with(TemporalAdjusters.nextOrSame(DayOfWeek.FRIDAY)) adjusts the date to the next Friday or stays at the same date if it’s already Friday.
Wayan

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.