Método OffsetDateTime with() en Java con ejemplos

En la clase OffsetDateTime, 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 OffsetDateTime utilizado para ajustar este OffsetDateTime utilizando TemporalAdjuster y después del ajuste devuelve la copia de OffsetDateTime ajustado. El ajuste se lleva a cabo utilizando el objeto de estrategia de ajustador especificado. Esta instancia de OffsetDateTime es inmutable y no se ve afectada por esta llamada de método.

Sintaxis:

public OffsetDateTime 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 OffsetDateTime 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
// OffsetDateTime.with() method
  
import java.time.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create a OffsetDateTime object
        OffsetDateTime off
            = OffsetDateTime.parse("2018-12-12T13:30:30+05:00");
  
        // print instance
        System.out.println("OffsetDateTime before"
                           + " adjustment: "
                           + off);
  
        // apply with method of OffsetDateTime class
        OffsetDateTime updatedlocal
            = off.with(Month.JUNE)
                  .with(TemporalAdjusters
                            .firstDayOfMonth());
  
        // print instance
        System.out.println("OffsetDateTime after"
                           + " adjustment: "
                           + updatedlocal);
    }
}
Producción:

OffsetDateTime before adjustment: 2018-12-12T13:30:30+05:00
OffsetDateTime after adjustment: 2018-06-01T13:30:30+05:00

with(campo TemporalField, long newValue)

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

Sintaxis:

public OffsetDateTime 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 OffsetDateTime 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
// OffsetDateTime.with() method
  
import java.time.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create a OffsetDateTime object
        OffsetDateTime off
            = OffsetDateTime.parse("2018-12-12T13:30:30+05:00");
  
        // print instance
        System.out.println("OffsetDateTime before"
                           + " adjustment: "
                           + off);
  
        // apply with method of OffsetDateTime class
        OffsetDateTime updatedlocal
            = off.with(ChronoField.DAY_OF_MONTH, 31);
  
        // print instance
        System.out.println("OffsetDateTime after"
                           + " applying method: "
                           + updatedlocal);
    }
}
Producción:

OffsetDateTime before adjustment: 2018-12-12T13:30:30+05:00
OffsetDateTime after applying method: 2018-12-31T13:30:30+05:00

Referencias:
https://docs.oracle.com/javase/10/docs/api/java/time/OffsetDateTime.html#with(java.time.temporal.TemporalAdjuster)
https://docs.oracle.com/javase/ 10/docs/api/java/time/OffsetDateTime.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 *