El método withDayOfMonth() de la clase OffsetDateTime en Java devuelve una copia de este OffsetDateTime con el día del mes modificado como se especifica en el parámetro.
Sintaxis:
public OffsetDateTime withDayOfMonth(int dayOfMonth)
Parámetro: este método acepta un solo parámetro dayOfMonth que especifica el día del mes que se establecerá en el resultado, que puede oscilar entre 1 y 28-31.
Valor devuelto: Devuelve un OffsetDateTime basado en esta fecha con el día solicitado y no nulo.
Excepciones : el programa lanza una DateTimeException cuando el valor del día del mes no es válido o si el día del mes no es válido para el mes de ese año en particular.
Los siguientes programas ilustran el método withDayOfMonth() :
Programa 1:
// Java program to demonstrate the withDayOfMonth() method import java.time.OffsetDateTime; public class GFG { public static void main(String[] args) { // Parses the date1 OffsetDateTime date1 = OffsetDateTime .parse( "2018-12-12T13:30:30+05:00"); // Prints dates System.out.println("Date1: " + date1); // Changes the day of month System.out.println("Date1 after altering day-of-month: " + date1.withDayOfMonth(20)); } }
Date1: 2018-12-12T13:30:30+05:00 Date1 after altering day-of-month: 2018-12-20T13:30:30+05:00
Programa 2 :
// Java program to demonstrate the withDayOfMonth() method import java.time.OffsetDateTime; public class GFG { public static void main(String[] args) { try { // Parses the date1 OffsetDateTime date1 = OffsetDateTime .parse( "2018-12-12T13:30:30+05:00"); // Prints dates System.out.println("Date1: " + date1); // Changes the day of month System.out.println("Date1 after altering day-of-month: " + date1.withDayOfMonth(32)); } catch (Exception e) { System.out.println("Exception: " + e); } } }
Date1: 2018-12-12T13:30:30+05:00 Exception: java.time.DateTimeException: Invalid value for DayOfMonth (valid values 1 - 28/31): 32
Referencia : https://docs.oracle.com/javase/10/docs/api/java/time/OffsetDateTime.html#withDayOfMonth(int)