El método withDayOfMonth() de la clase LocalDateTime en Java se usa para obtener una copia de este LocalDateTime con el día del mes cambiado al día del mes pasado como parámetro a este método. Los valores restantes de este LocalDateTime siguen siendo los mismos.
Sintaxis:
public LocalDateTime withDayOfMonth(int dayOfMonth)
Parámetro: este método acepta un solo parámetro obligatorio dayOfMonth que especifica el día del mes que se establecerá en la instancia de LocalDateTime resultante. El valor de este día del mes puede oscilar entre 1 y 31.
Devoluciones: la función devuelve una instancia de LocalDateTime con el día del mes cambiado al día del mes pasado como parámetro para este método. Los valores restantes de este LocalDateTime siguen siendo los mismos.
Excepciones : la función lanza una excepción DateTimeException si el valor del día del mes no es válido.
Los siguientes programas ilustran el método LocalDateTime.withDayOfMonth():
Programa 1:
// Program to illustrate the withDayOfMonth() method import java.util.*; import java.time.*; public class GfG { public static void main(String[] args) { // Get the LocalDateTime instance LocalDateTime dt = LocalDateTime.now(); // Get the String representation of this LocalDateTime System.out.println("Original LocalDateTime: " + dt.toString()); // Get a new LocalDateTime with dayOfMonth 25 System.out.println("New LocalDateTime: " + dt.withDayOfMonth(25)); } }
Original LocalDateTime: 2018-11-30T10:38:27.429 New LocalDateTime: 2018-11-25T10:38:27.429
Programa 2:
// Program to illustrate the withDayOfMonth() method import java.util.*; import java.time.*; public class GfG { public static void main(String[] args) { // Get the LocalDateTime instance LocalDateTime dt = LocalDateTime .parse("2015-04-06T10:15:30"); // Get the String representation of this LocalDateTime System.out.println("Original LocalDateTime: " + dt.toString()); // Get a new LocalDateTime with dayOfMonth 1 System.out.println("New LocalDateTime: " + dt.withDayOfMonth(1)); } }
Original LocalDateTime: 2015-04-06T10:15:30 New LocalDateTime: 2015-04-01T10:15:30
Referencia: https://docs.oracle.com/javase/10/docs/api/java/time/LocalDateTime.html#withDayOfMonth(int)