Método instantáneo with() en Java con ejemplos

En la clase Instant, hay dos tipos de método with() según los parámetros que se le pasen.

con (ajustador TemporalAdjuster)

with(TemporalAdjuster ajustador) método de la clase Instantánea utilizada para ajustar este instante usando TemporalAdjuster y después del ajuste devuelve la copia del instante ajustado. El ajuste se lleva a cabo utilizando el objeto de estrategia de ajustador especificado. Esta instancia de Instant es inmutable y no se ve afectada por esta llamada de método.

Sintaxis:

public Instant 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 Instant 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
// Instant.with() method
  
import java.time.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create a Instant object
        Instant local
            = Instant.parse(
                "2018-12-30T19:34:50.63Z");
  
        // print instance
        System.out.println("Instant before"
                           + " adjustment: "
                           + local);
  
        // apply with method of Instant class
        Instant updatedlocal
            = local.with(Instant.EPOCH);
  
        // print instance
        System.out.println("Instant after"
                           + " adjustment: "
                           + updatedlocal);
    }
}
Producción:

Instant before adjustment: 2018-12-30T19:34:50.630Z
Instant after adjustment: 1970-01-01T00:00:00Z

with(campo TemporalField, long newValue)

with(TemporalField field, long newValue) de la clase Instant que se usa para establecer el campo especificado de Instant en un nuevo valor y devuelve la copia de la nueva hora. Este método se puede usar para cambiar cualquier campo compatible, 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 Instant es inmutable y no se ve afectada por esta llamada de método.

Sintaxis:

public Instant 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 Instant 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
// Instant.with() method
  
import java.time.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create a Instant object
        Instant local
            = Instant.parse(
                "2021-01-01T19:55:30Z");
  
        // print instance
        System.out.println("Instant before"
                           + " applying method: "
                           + local);
  
        // apply with method of Instant class
        Instant updatedlocal
            = local.with(
                ChronoField.INSTANT_SECONDS,
                45000000000);
  
        // print instance
        System.out.println("Instant after"
                           + " applying method: "
                           + updatedlocal);
    }
}
Producción:

Instant before applying method: 2021-01-01T19:55:30Z
Instant after applying method: 1970-01-01T00:00:45Z

Referencias:
https://docs.oracle.com/javase/10/docs/api/java/time/Instant.html#with(java.time.temporal.TemporalAdjuster)
https://docs.oracle.com/javase/ 10/docs/api/java/time/Instant.html#with(java.time.temporal.TemporalField, largo)

Publicación traducida automáticamente

Artículo escrito por AmanSingh2210 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 *