The withMonth() method of LocalDate class in Java returns a copy of this LocalDate with the month-of-year altered.
Syntax:
public LocalDate withMonth(int month)
Parameter: This method accepts a mandatory parameter month which specifies the month-of-year to set in the result, from 1 i.e., January to 12 i.e., December.
Returns: The function returns a LocalDate based on this date with the requested month, not null.
Exceptions: The function throws a DateTimeException when the month-of-year value is invalid.
Below programs illustrate the LocalDate.withMonth() method:
Program 1:
// Program to illustrate the withMonth() 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.withMonth( 01 );           // Prints the date with year         System.out.println( "The date with month is: " + result);     } } |
The date with month is: 2018-01-07
Program 2:
// Program to illustrate the withMonth() 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.withMonth( 13 );               // Prints the date with year             System.out.println( "The date with month is: " + result);         }         catch (Exception e) {             System.out.println(e);         }     } } |
java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 13
Reference: https://docs.oracle.com/javase/10/docs/api/java/time/LocalDate.html#withMonth(int)