Método Java 8 Clock offset() con ejemplos

La clase Java Clock es parte de la API de fecha y hora, java.time.Clock, de Java. La API de fecha y hora de Java se agregó desde la versión 8 de Java.

El método offset() es un método estático de la clase Clock que devuelve un reloj con un instante igual a la suma de los instantes del reloj pasados ​​como parámetro y una duración de Offset específica . Si la duración añadida es positiva, el reloj devuelto representa el instante del reloj más tarde por la duración especificada del reloj base. Si la duración añadida es negativa, el reloj devuelto es anterior a la fecha y la hora del reloj base. Una duración de cero no hace nada al reloj base y devuelve el reloj base.

Si el reloj base es inmutable, seguro para subprocesos y serializable, el reloj devuelto también es inmutable, seguro para subprocesos y serializable.

Sintaxis:

public static Clock offset(Clock baseClock, Duration offsetDuration)

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

  • baseclock : un reloj para agregar duración. No puede ser un valor nulo.
  • offsetDuration : duración para agregar con baseClock. No puede ser un valor nulo también.

Valor de Retorno: Este método devuelve un reloj con un instante igual a la suma de los instantes del reloj pasados ​​como parámetro y la duración del Offset Específico.

Los siguientes programas ilustran el método offset (Clock baseClock, Duration offsetDuration) de la clase java.time.Clock:

Programa 1: Cuando el desplazamiento se pasa como horas.

// Java program to demonstrate offset()
// method of Clock class
  
import java.time.*;
  
// create class
public class offsetMethodDemo {
  
    // Main method
    public static void main(String[] args)
    {
  
        // base Clock with default zone
        Clock realClock = Clock.systemDefaultZone();
  
        // print current time
        System.out.println("Real clock instant is "
                           + realClock.instant());
  
        // Creating another clock with offset 0
        Clock clock = Clock.offset(realClock, Duration.ZERO);
  
        // print new clock
        System.out.println("New clock instant"
                           + " with Duration = 0 is "
                           + clock.instant());
  
        // Creating the clock with 24 hours positive offset
        clock = Clock.offset(realClock, Duration.ofHours(24));
  
        // print new clock
        System.out.println("New clock instant"
                           + " with Duration = 24hours is "
                           + clock.instant());
  
        // Creating the clock with 24 hours negative offset
        clock = Clock.offset(realClock, Duration.ofHours(-24));
  
        // print new clock
        System.out.println("New clock instant"
                           + " with Duration = -24hours is "
                           + clock.instant());
    }
}
Producción:

Real clock instant is 2018-08-21T09:43:13.519Z
New clock instant with Duration = 0 is 2018-08-21T09:43:13.785Z
New clock instant with Duration = 24hours is 2018-08-22T09:43:13.785Z
New clock instant with Duration = -24hours is 2018-08-20T09:43:13.785Z

Programa 2: Cuando el desplazamiento se pasa como segundos y minutos.

// Java program to demonstrate offset() 
// method of Clock class
  
import java.time.*;
  
// create class
public class offsetMethodDemo {
  
    // Main method
    public static void main(String[] args)
    {
  
        // create a Zone Id for Europe/Paris
        ZoneId zoneId = ZoneId.of("Europe/Paris");
  
        // base Clock with default zone
        Clock realClock = Clock.system(zoneId);
  
        // print current time
        System.out.println("Real clock instant is "
                           + realClock.instant());
  
        // Creating the clock with 50 seconds positive offset
        Clock clock = Clock.offset(realClock, Duration.ofSeconds(50));
  
        // print new clock
        System.out.println("Time after 50 second later"
                           + " than real Clock is " + clock.instant());
  
        // Creating the clock with 30 minutes positive offset
        clock = Clock.offset(realClock, Duration.ofMinutes(30));
  
        // print new clock
        System.out.println("Time after 30 minutes later"
                           + " than real Clock is " + clock.instant());
    }
}
Producción:

Real clock instant is 2018-08-21T09:43:18.921Z
Time after 50 second later than real Clock is 2018-08-21T09:44:08.969Z
Time after 30 minutes later than real Clock is 2018-08-21T10:13:18.969Z

Referencia: https://docs.oracle.com/javase/8/docs/api/java/time/Clock.html#offset-java.time.Clock-java.time.Duration-

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 *