Buscar..


Sintaxis

  • LocalTime time = LocalTime.now (); // Inicializa con el reloj del sistema actual
  • LocalTime time = LocalTime.MIDNIGHT; // 00:00
  • LocalTime time = LocalTime.NOON; // 12:00
  • LocalTime time = LocalTime.of (12, 12, 45); // 12:12:45

Parámetros

Método Salida
LocalTime.of(13, 12, 11) 13:12:11
LocalTime.MIDNIGHT 00:00
LocalTime.NOON 12:00
LocalTime.now() Hora actual desde el reloj del sistema
LocalTime.MAX La hora local máxima admitida 23: 59: 59.999999999
LocalTime.MIN La hora local mínima admitida 00:00
LocalTime.ofSecondOfDay(84399) 23:59:59, obtiene el tiempo del segundo valor del día
LocalTime.ofNanoOfDay(2000000000) 00:00:02, Obtiene el tiempo del valor nanos del día

Observaciones

Como el nombre de la clase indica, LocalTime representa una hora sin una zona horaria. No representa una fecha. Es una etiqueta simple para un tiempo dado.

La clase está basada en valores y el método equals se debe usar al hacer comparaciones.

Esta clase es del paquete java.time.

Modificación de tiempo

Puedes agregar horas, minutos, segundos y nanosegundos:

LocalTime time = LocalTime.now();
LocalTime addHours = time.plusHours(5); // Add 5 hours
LocaLTime addMinutes = time.plusMinutes(15) // Add 15 minutes
LocalTime addSeconds = time.plusSeconds(30) // Add 30 seconds
LocalTime addNanoseconds = time.plusNanos(150_000_000) // Add 150.000.000ns (150ms)

Zonas horarias y su diferencia horaria.

import java.time.LocalTime;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;

public class Test {
    public static void main(String[] args)
    {
            ZoneId zone1 = ZoneId.of("Europe/Berlin");
            ZoneId zone2 = ZoneId.of("Brazil/East");

            LocalTime now = LocalTime.now();
            LocalTime now1 = LocalTime.now(zone1);
            LocalTime now2 = LocalTime.now(zone2);
            
            System.out.println("Current Time : " + now);
            System.out.println("Berlin Time : " + now1);
            System.out.println("Brazil Time : " + now2);
            
            long minutesBetween = ChronoUnit.MINUTES.between(now2, now1);
            System.out.println("Minutes Between Berlin and Brazil : " + minutesBetween +"mins");          
    }
}

Cantidad de tiempo entre dos LocalTime

Hay dos formas equivalentes de calcular la cantidad de unidad de tiempo entre dos LocalTime : (1) until(Temporal, TemporalUnit) método until(Temporal, TemporalUnit) y (2) TemporalUnit.between(Temporal, Temporal) .

import java.time.LocalTime;
import java.time.temporal.ChronoUnit;

public class AmountOfTime {

    public static void main(String[] args) {

        LocalTime start = LocalTime.of(1, 0, 0); // hour, minute, second
        LocalTime end = LocalTime.of(2, 10, 20); // hour, minute, second
        
        long halfDays1 = start.until(end, ChronoUnit.HALF_DAYS); // 0
        long halfDays2 = ChronoUnit.HALF_DAYS.between(start, end); // 0
        
        long hours1 = start.until(end, ChronoUnit.HOURS); // 1
        long hours2 = ChronoUnit.HOURS.between(start, end); // 1
        
        long minutes1 = start.until(end, ChronoUnit.MINUTES); // 70
        long minutes2 = ChronoUnit.MINUTES.between(start, end); // 70
        
        long seconds1 = start.until(end, ChronoUnit.SECONDS); // 4220
        long seconds2 = ChronoUnit.SECONDS.between(start, end); // 4220
        
        long millisecs1 = start.until(end, ChronoUnit.MILLIS); // 4220000
        long millisecs2 = ChronoUnit.MILLIS.between(start, end); // 4220000

        long microsecs1 = start.until(end, ChronoUnit.MICROS); // 4220000000
        long microsecs2 = ChronoUnit.MICROS.between(start, end); // 4220000000

        long nanosecs1 = start.until(end, ChronoUnit.NANOS); // 4220000000000
        long nanosecs2 = ChronoUnit.NANOS.between(start, end); // 4220000000000
        
        // Using others ChronoUnit will be thrown UnsupportedTemporalTypeException.
        // The following methods are examples thereof.
        long days1 = start.until(end, ChronoUnit.DAYS); 
        long days2 = ChronoUnit.DAYS.between(start, end); 
    }
}

Introducción

LocalTime es una clase inmutable y segura para subprocesos, utilizada para representar el tiempo, a menudo vista como hora-min-seg. El tiempo está representado en nanosegundos de precisión. Por ejemplo, el valor "13: 45.30.123456789" se puede almacenar en un LocalTime.

Esta clase no almacena ni representa una fecha o zona horaria. En cambio, es una descripción de la hora local como se ve en un reloj de pared. No puede representar un instante en la línea de tiempo sin información adicional, como un desplazamiento o una zona horaria. Esta es una clase basada en valores, el método igual debe usarse para comparaciones.

Campos

MAX: el tiempo local máximo admitido, '23: 59: 59.999999999 '. Medianoche, min, mediodía

Métodos estáticos importantes

now (), now (Clock clock), now (ZoneId zone), parse (CharSequence text)

Métodos de instancia importantes

isAfter (LocalTime other), isBefore (LocalTime other), minus (TemporalAmount amountToSubtract), minus (long amountToSubtract, TemporalUnit unit), más (TemporalAmount amountToAdd), plus (long listAdAdd, TemporalUnit unit)

ZoneId zone = ZoneId.of("Asia/Kolkata");
LocalTime now = LocalTime.now();
LocalTime now1 = LocalTime.now(zone);
LocalTime then = LocalTime.parse("04:16:40");

La diferencia en el tiempo se puede calcular de cualquiera de las siguientes maneras

long timeDiff = Duration.between(now, now1).toMinutes();
long timeDiff1 = java.time.temporal.ChronoUnit.MINUTES.between(now2, now1);

También puede agregar / restar horas, minutos o segundos de cualquier objeto de LocalTime.

minusHours (long hoursToSubtract), minusMinutes (long hoursToMinutes), minusNanos (long nanosToSubtract), minusSeconds (long secondsToSubtract), plusHours (long hoursToSubtract), plusSsopssperssopssopssperssopssopssperssopssopssonssperssonssperssonss-sos-s.jpg

now.plusHours(1L);
now1.minusMinutes(20L);


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow