Clase TimeUnit en Java con ejemplos

TimeUnit es un Enum disponible en el paquete java.util.concurrent .TimeUnit, como su nombre lo indica, trata con unidades de tiempo. TimeUnit proporciona representación de tiempo en una determinada unidad de granularidad. Pone a disposición métodos para convertir el tiempo a través de unidades de tiempo. TimeUnit es útil para saber cómo se debe interpretar un tiempo dado, es decir, qué unidad de tiempo se debe considerar. Las diferencias de minutos entre las duraciones de tiempo, como en microsegundos y nanosegundos, se pueden calcular utilizando TimeUnit. Se utiliza para realizar operaciones de temporización y retardo.

Admite unidades de nanosegundos, microsegundos, milisegundos, segundos, minutos, horas y días. Para estas unidades, TimeUnit especifica las constantes de enumeración correspondientes:

  1. Nanosegundos: una milésima de microsegundo
  2. Microsegundos: Una milésima de milisegundo
  3. Milisegundos: Una milésima de segundo
  4. Segundos: un segundo
  5. Minutos: sesenta segundos
  6. Horas: sesenta minutos
  7. Días: Veinticuatro horas

Ejemplo 1:

Java

// Java program to demonstrate TimeUnit Class
 
import java.util.concurrent.TimeUnit;
 
public class GFG {
    public static void main(String args[])
    {
        long hours = 96;
 
        // Convert given time (hours)in days
        long days = TimeUnit.DAYS.convert(hours, TimeUnit.HOURS);
 
        // Convert days in minutes
        long minutes = TimeUnit.MINUTES.convert(days, TimeUnit.DAYS);
 
        System.out.println(hours + " Hours = " + days
                           + " Days = " + +minutes
                           + " Minutes");
 
        // Convert given time (minutes) to microseconds
        long micros = TimeUnit.MINUTES.toMicros(minutes);
        System.out.println(minutes + " Minutes = " + micros
                           + " Microseconds");
 
        // Convert given time (microseconds) to seconds
        long seconds = TimeUnit.MICROSECONDS.toSeconds(micros);
        System.out.println(micros + " Microseconds = "
                           + seconds + " Seconds");
 
        // Create TimeUnit object of type Minutes
        TimeUnit time = TimeUnit.valueOf("MINUTES");
        System.out.println("TimeUnit object type: " + time);
    }
}
Producción

96 Hours = 4 Days = 5760 Minutes
5760 Minutes = 345600000000 Microseconds
345600000000 Microseconds = 345600 Seconds
TimeUnit object type: MINUTES

Ejemplo 2: 

Java

// Java program to demonstrate TimeUnit Class
 
import java.util.concurrent.TimeUnit;
 
public class GFG implements Runnable {
    public void run()
    {
        // Get array of TimeUnit enum constants using
        // values()
        for (TimeUnit unit : TimeUnit.values()) {
            try {
               
                // pause for 1 second
                TimeUnit.SECONDS.sleep(1);
            }
            catch (InterruptedException e) {
                e.printStackTrace();
            }
 
            System.out.println(
                unit + " : "
                + unit.convert(24, TimeUnit.HOURS));
        }
    }
    public static void main(String args[])
    {
        GFG obj1 = new GFG();
        System.out.println("TimeUnit Example");
       
        // Create and start Thread
        Thread t1 = new Thread(obj1);
        t1.start();
       
        System.out.println("Now, thread will run for 5 seconds");
        try {
           
            // Specify Thread join time, here, 5 seconds
            TimeUnit.SECONDS.timedJoin(t1, 5);
        }
        catch (InterruptedException e) {
            e.printStackTrace();
        }
       
        System.out.println("Thread  Execution Paused");
        System.out.println("Resuming Thread Execution...");
    }
}
Producción

TimeUnit Example
Now, thread will run for 5 seconds
NANOSECONDS : 86400000000000
MICROSECONDS : 86400000000
MILLISECONDS : 86400000
SECONDS : 86400
Thread  Execution Paused
Resuming Thread Execution...
MINUTES : 1440
HOURS : 24
DAYS : 1

Métodos de utilidad disponibles en TimeUnit: 

Métodos                                                                    Descripción
conversión larga() Convierte la duración del tiempo ingresado con su unidad a la unidad requerida.
mucho tiempo hasta los días()  Convierte la duración del tiempo en Días.
largo a Horas()  Convierte la duración del tiempo en Horas.
largo a Micros() Convierte la duración del tiempo en microsegundos.
largo a Millis()  Convierte la duración del tiempo a milisegundos.
largo a Minutos()  Convierte la duración del tiempo en minutos.
largo a Nanos() Convierte la duración del tiempo en nanosegundos.
largo a segundos()  Convierte la duración del tiempo en segundos.
valor de unidad de tiempo estático() Devuelve la constante de enumeración del tipo con el nombre especificado.
Unidad de tiempo estática [] valores() Devuelve una array que contiene las constantes de enumeración.
anular el sueño() Realiza un Thread.sleep utilizando esta unidad de tiempo. Pausa para la unidad de tiempo dada.
void timedWait()  Realiza un Object.wait cronometrado utilizando esta unidad de tiempo. Espere a que se ejecute la unidad de tiempo dada.
void timedJoin() Realiza un Thread.join cronometrado usando esta unidad de tiempo. El subproceso se proporciona para trabajar solo durante un tiempo determinado.

Publicación traducida automáticamente

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