The withDayOfMonth() method of LocalDate class in Java returns a copy of this LocalDate with the day-of-month altered.
Syntax:
public LocalDate withDayOfMonth(int dayOfMonth)
Parameter: This method accepts a mandatory parameter dayOfMonth whicthe day-of-month to set in the result, from 1 to 28-31.
Returns: The function returns a LocalDate based on this date with the requested day, not null.
Exceptions: The function throws a DateTimeException when the day of the month value is invalid.
Below programs illustrate the LocalDate.withDayOfMonth() method:
Program 1:
// Program to illustrate the withDayOfMonth() method  import java.util.*;import java.time.*;  public class GfG {    public static void main(String[] args)    {          // Parses the date        LocalDate dt1 = LocalDate.parse("2018-12-07");        LocalDate result = dt1.withDayOfMonth(01);          // Prints the date with year        System.out.println("The date with day of the month is: " + result);    }} |
The date with day of the month is: 2018-12-01
Program 2:
// Program to illustrate the withDayOfMonth() method// Exceptionsimport java.util.*;import java.time.*;import java.time.temporal.ChronoField;  public class GfG {    public static void main(String[] args)    {          try {            // Parses the date            LocalDate dt1 = LocalDate.parse("2018-12-07");            LocalDate result = dt1.withDayOfMonth(35);              // Prints the date with year            System.out.println("The date with day of the month is: " + result);        }        catch (Exception e) {            System.out.println(e);        }    }} |
java.time.DateTimeException: Invalid value for DayOfMonth (valid values 1 - 28/31): 35
Reference: https://docs.oracle.com/javase/10/docs/api/java/time/LocalDate.html#withDayOfMonth(int)
