El método with(TemporalAdjuster ajustador) de la interfaz ChronoLocalDateTime se usa para ajustar esta fecha y hora usando TemporalAdjuster y después del ajuste devuelve la copia de la fecha y hora ajustada. El ajuste se lleva a cabo utilizando el objeto de estrategia de ajustador especificado. Esta instancia de ChronoLocalDateTime es inmutable y no se ve afectada por esta llamada de método. Un ajustador simple usa para establecer uno de los campos, como el campo del año donde un ajustador más complejo podría establecer la hora hasta el último día del año.
Sintaxis:
default ChronoLocalDateTime with(TemporalAdjuster adjuster)
Parámetros: Este método acepta ajustador como parámetro que es el ajustador a utilizar.
Valor devuelto: este método devuelve un ChronoLocalDateTime basado en esto con el ajuste realizado.
Excepción: este método arroja las siguientes excepciones:
- DateTimeException : si no se puede realizar el ajuste.
- ArithmeticException : si se produce un desbordamiento numérico.
Los siguientes programas ilustran el método with():
Programa 1:
// Java program to demonstrate // ChronoLocalDateTime.with() method import java.time.*; import java.time.chrono.*; import java.time.temporal.*; public class GFG { public static void main(String[] args) { // create ChronoLocalDateTime object ChronoLocalDateTime time = LocalDateTime .parse("2019-12-31T19:15:30"); // print instance System.out.println("ChronoLocalDateTime before" + " adjustment: " + time); // apply with method of ChronoLocalDateTime ChronoLocalDateTime updatedlocal = time.with(Month.OCTOBER) .with(TemporalAdjusters .firstDayOfMonth()); // print instance System.out.println("ChronoLocalDateTime after" + " adjustment: " + updatedlocal); } }
ChronoLocalDateTime before adjustment: 2019-12-31T19:15:30 ChronoLocalDateTime after adjustment: 2019-10-01T19:15:30
Programa 2:
// Java program to demonstrate // ChronoLocalDateTime.with() method import java.time.*; import java.time.chrono.*; import java.time.temporal.*; public class GFG { public static void main(String[] args) { // create ChronoLocalDateTime object ChronoLocalDateTime time = LocalDateTime .parse("2018-10-25T23:12:31.123"); // print instance System.out.println("ChronoLocalDateTime before" + " adjustment: " + time); // apply with method of ChronoLocalDateTime ChronoLocalDateTime updatedlocal = time.with(Month.JANUARY) .with(TemporalAdjusters .firstDayOfMonth()); // print instance System.out.println("ChronoLocalDateTime after" + " adjustment: " + updatedlocal); } }
ChronoLocalDateTime before adjustment: 2018-10-25T23:12:31.123 ChronoLocalDateTime after adjustment: 2018-01-01T23:12:31.123