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 // Exceptions import 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)