El método withDayOfMonth() de la clase LocalDate en Java devuelve una copia de esta LocalDate con el día del mes alterado.
Sintaxis:
public LocalDate withDayOfMonth(int dayOfMonth)
Parámetro: Este método acepta un parámetro obligatorio dayOfMonth que indica el día del mes a configurar en el resultado, del 1 al 28-31.
Devoluciones: la función devuelve un LocalDate basado en esta fecha con el día solicitado, no nulo.
Excepciones : la función genera una excepción DateTimeException cuando el valor del día del mes no es válido.
Los siguientes programas ilustran el método LocalDate.withDayOfMonth() :
Programa 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); } }
Producción:
The date with day of the month is: 2018-12-01
Programa 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); } } }
Producción:
java.time.DateTimeException: Invalid value for DayOfMonth (valid values 1 - 28/31): 35
Referencia: https://docs.oracle.com/javase/10/docs/api/java/time/LocalDate.html#withDayOfMonth(int)