The lastInMonth(DayOfWeek) method of a TemporalAdjusters class is used to return a TemporalAdjuster object which can be used to get a new Date object which is the last date of the same month with the same matching DayOfWeek as passed as a parameter from any Date object on which this TemporalAdjuster is applied. Syntax:
public static TemporalAdjuster lastInMonth(DayOfWeek dayOfWeek)
Parameters: This method accepts dayOfWeek which can be used to get a new Date object which is the last date of the same month with the same matching DayOfWeek. Return value: This method returns the last in month adjuster, not null. Below programs illustrate the TemporalAdjusters.lastInMonth() method: Program 1:Â
Java
// Java program to demonstrate// TemporalAdjusters.lastInMonth()Â
import java.time.*;import java.time.temporal.*;Â
public class GFG {Â Â Â Â public static void main(String[] args)Â Â Â Â {Â
        // get TemporalAdjuster with        // the last in month adjuster        TemporalAdjuster temporalAdjuster            = TemporalAdjusters.lastInMonth(                DayOfWeek.SUNDAY);Â
        // using adjuster for local date-time        LocalDate localDate            = LocalDate.of(1998, 10, 31);        LocalDate lastInMonth            = localDate.with(temporalAdjuster);Â
        // print        System.out.println(            "last date in month having"            + " sunday for localdate "            + localDate + " is: "            + lastInMonth);    }} |
last date in month having sunday for localdate 1998-10-31 is: 1998-10-25
Program 2:Â
Java
// Java program to demonstrate// TemporalAdjusters.lastInMonth() methodÂ
import java.time.*;import java.time.temporal.*;Â
public class GFG {Â Â Â Â public static void main(String[] args)Â Â Â Â {Â
        // get TemporalAdjuster with        // the last in month adjuster        TemporalAdjuster temporalAdjuster            = TemporalAdjusters.lastInMonth(                DayOfWeek.TUESDAY);Â
        // using adjuster for local date time        LocalDate localDate            = LocalDate.of(2029, 12, 11);        LocalDate lastInMonth            = localDate.with(temporalAdjuster);Â
        // print        System.out.println(            "The last date in a month "            + "having TUESDAY for localdate "            + localDate + " is: "            + lastInMonth);    }} |
The last date in a month having TUESDAY for localdate 2029-12-11 is: 2029-12-25
