El método with(TemporalField field, long newValue) de la interfaz ChronoLocalDateTime se utiliza para establecer el campo especificado de ChronoLocalDateTime en un nuevo valor y devuelve la copia de la nueva hora. Este método se puede utilizar para cambiar cualquier campo admitido, como año, día, mes, hora, minuto o segundo. Se lanza una excepción si no es posible establecer el nuevo valor debido a que el campo no es compatible o por alguna otra razón. Esta instancia de ChronoLocalDateTime es inmutable y no se ve afectada por esta llamada de método.
Sintaxis:
ChronoLocalDateTime with(TemporalField field, long newValue)
Parámetros: este método acepta campo, que es el campo que se establecerá en el resultado, y newValue, que es el nuevo valor del campo en el resultado como parámetros.
Valor de retorno: este método devuelve un ChronoLocalDateTime basado en esto con el conjunto de campos especificado.
Excepción: este método arroja las siguientes excepciones:
- DateTimeException : si no se puede realizar el ajuste.
- UnsupportedTemporalTypeException : si el campo no es compatible.
- 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(ChronoField.YEAR, 2017); // print instance System.out.println("ChronoLocalDateTime after" + " adjustment: " + updatedlocal); } }
ChronoLocalDateTime before adjustment: 2019-12-31T19:15:30 ChronoLocalDateTime after adjustment: 2017-12-31T19: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(ChronoField.MONTH_OF_YEAR, 1); // print instance System.out.println("ChronoLocalDateTime after" + " adjustment: " + updatedlocal); } }
ChronoLocalDateTime before adjustment: 2018-10-25T23:12:31.123 ChronoLocalDateTime after adjustment: 2018-01-25T23:12:31.123