Clase java.time.Clock en Java

La clase Java Clock está presente en el paquete java.time . Se introdujo en Java 8 y proporciona acceso a la hora, la fecha y el instante actual utilizando una zona horaria.

El uso de la clase Clock no es obligatorio porque todas las clases de fecha y hora también tienen un método now() que usa el reloj del sistema en la zona horaria predeterminada. El objetivo principal de usar la clase Clock es conectar un reloj alternativo donde sea necesario. Las aplicaciones utilizan un objeto para obtener la hora actual en lugar de un método estático. Esto hace que la prueba sea fácil. Podemos pasar un Clock como argumento a un método que requiere un instante actual.

Declaración:

public abstract class Clock extends Object

Es una clase abstracta, por lo que no podemos instanciarla, pero podemos usar varios métodos estáticos para acceder a su instancia.

Método systemUTC():

public static Clock systemUTC()

Este método devuelve una instancia de Clock del instante actual en la zona horaria UTC. Esto es mejor cuando necesita un instante actual sin fecha ni hora.

Java

// Java program for creating instance of Clock
import java.time.Clock;
 
public class GFG {
     
    // main method
    public static void main(String[] args) {
         
        // creating a Clock instance using
        // systemUTC() method of Clock class
        Clock clock = Clock.systemUTC();
         
        // getting the current instant defined by clock
        System.out.println("UTC time = " + clock.instant());
    }
}
Producción

UTC time = 2021-02-07T16:16:43.863267Z

Método systemDefaultZone()

public static Clock systemDefaultZone()

Este método devuelve una instancia de Reloj del instante actual utilizando la zona horaria predeterminada del sistema.

Java

// Java program for creating instance of Clock
 
import java.time.Clock;
 
public class GFG {
 
    // main method
    public static void main(String[] args)
    {
 
        // creating a Clock instance using
        // systemDefaultZone() method of Clock class
        Clock clock = Clock.systemDefaultZone();
 
        // it will print "SystemClock[Asia/Calcutta]" for me.
        // The output may be different because of server
        // system clock.
        System.out.println(clock);
 
        // printing zone of clock instance
        // it will print "Time zone : Asia/Calcutta" for me.
        System.out.println("Time Zone : "
                           + clock.getZone());
    }
}
Producción

SystemClock[Etc/UTC]
Time Zone : Etc/UTC

Métodos

Método Descripción
fijo (instantáneo fijo, zona ZoneId) Sirve para obtener un Reloj que siempre regresa en el mismo instante.
obtenerZona() Devuelve la zona horaria del reloj dado.
instante() Se utiliza para obtener el instante actual del reloj.
milésimas() Devuelve el instante de milisegundo actual del reloj. 
offset(Reloj baseReloj, Duración offsetDuración) Devuelve un reloj que devuelve un instante desde el reloj especificado con la duración especificada agregada. 
sistema (zona ZoneId) Devuelve un objeto Reloj del instante actual para el id de zona especificado.
systemDefaultZone() Devuelve una instancia de Reloj del instante actual utilizando la zona horaria predeterminada del sistema.
sistemaUTC()      Devuelve una instancia de reloj del instante actual en la zona horaria UTC.
tick(Reloj baseReloj, Duración tickDuración) Devuelve instantes del reloj base especificado truncados a la ocurrencia más cercana de la duración especificada.
tickMinutes(ZoneId zona) Devuelve un objeto Reloj del tictac instantáneo actual en minutos completos para la zona horaria dada.
tickSeconds(Zoneid zone) Devuelve un objeto Reloj del tictac instantáneo actual en segundos completos para la zona horaria dada.
withZone(ZoneId zona) Cree una copia del reloj con la zona horaria diferente.

Publicación traducida automáticamente

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