El método withMonth() de la clase LocalDate en Java devuelve una copia de esta LocalDate con el mes del año alterado.
Sintaxis:
public LocalDate withMonth(int month)
Parámetro: Este método acepta un parámetro obligatorio mes que especifica el mes del año a establecer en el resultado, desde el 1, es decir, enero hasta el 12, es decir, diciembre.
Devoluciones: la función devuelve un LocalDate basado en esta fecha con el mes solicitado, no nulo.
Excepciones : la función genera una excepción DateTimeException cuando el valor del mes del año no es válido.
Los siguientes programas ilustran el método LocalDate.withMonth() :
Programa 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); } }
Producción:
The date with month is: 2018-01-07
Programa 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); } } }
Producción:
java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 13
Referencia: https://docs.oracle.com/javase/10/docs/api/java/time/LocalDate.html#withMonth(int)