Método ChronoZonedDateTime con (TemporalField, long) en Java con ejemplos

El método with(TemporalField field, long newValue) de la interfaz ChronoZonedDateTime se utiliza para establecer el campo especificado de ChronoZonedDateTime 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 ChronoZonedDateTime es inmutable y no se ve afectada por esta llamada de método.

Sintaxis:

ChronoZonedDateTime with(TemporalField field, 
                         long newValue)

Parámetros: Este método acepta dos parámetros:

  • campo que es el campo a establecer en el resultado y
  • newValue que el nuevo valor del campo en el resultado como parámetros.

Valor devuelto: este método devuelve un ChronoZonedDateTime 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
// ChronoZonedDateTime.with() method
  
import java.time.*;
import java.time.chrono.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create ChronoZonedDateTime object
        ChronoZonedDateTime time
            = ZonedDateTime
                  .parse(
                      "2018-12-06T19:21:12.123+05:30[Asia/Calcutta]");
  
        // print instance
        System.out.println("ChronoZonedDateTime before"
                           + " adjustment: "
                           + time);
  
        // apply with method of ChronoZonedDateTime
        ChronoZonedDateTime updatedlocal
            = time.with(ChronoField.YEAR, 2017);
  
        // print instance
        System.out.println("ChronoZonedDateTime after"
                           + " adjustment: "
                           + updatedlocal);
    }
}
Producción:

ChronoZonedDateTime before adjustment: 2018-12-06T19:21:12.123+05:30[Asia/Calcutta]
ChronoZonedDateTime after adjustment: 2017-12-06T19:21:12.123+05:30[Asia/Calcutta]

Programa 2:

// Java program to demonstrate
// ChronoZonedDateTime.with() method
  
import java.time.*;
import java.time.chrono.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create ChronoZonedDateTime object
        ChronoZonedDateTime time
            = ZonedDateTime
                  .parse(
                      "1918-10-25T23:12:38.543+02:00[Europe/Paris]");
  
        // print instance
        System.out.println("ChronoZonedDateTime before"
                           + " adjustment: "
                           + time);
  
        // apply with method of ChronoZonedDateTime
        ChronoZonedDateTime updatedlocal
            = time.with(ChronoField.MONTH_OF_YEAR, 1);
  
        // print instance
        System.out.println("ChronoZonedDateTime after"
                           + " adjustment: "
                           + updatedlocal);
    }
}
Producción:

ChronoZonedDateTime before adjustment: 1918-10-25T23:12:38.543Z[Europe/Paris]
ChronoZonedDateTime after adjustment: 1918-01-25T23:12:38.543Z[Europe/Paris]

Referencia: https://docs.oracle.com/javase/9/docs/api/java/time/chrono/ChronoZonedDateTime.html#with-java.time.temporal.TemporalField-long-

Publicación traducida automáticamente

Artículo escrito por ShubhamMaurya3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *