Поиск…


Синтаксис

  • LocalTime time = LocalTime.now (); // Инициализирует текущие системные часы
  • LocalTime time = LocalTime.MIDNIGHT; // 00:00
  • LocalTime time = LocalTime.NOON; // 12:00
  • LocalTime time = LocalTime.of (12, 12, 45); // 12:12:45

параметры

метод Выход
LocalTime.of(13, 12, 11) 13:12:11
LocalTime.MIDNIGHT 00:00
LocalTime.NOON 12:00
LocalTime.now() Текущее время от системных часов
LocalTime.MAX Максимальное поддерживаемое местное время 23: 59: 59.999999999
LocalTime.MIN Минимальное поддерживаемое местное время 00:00
LocalTime.ofSecondOfDay(84399) 23:59:59, Получает Время от значения второго дня
LocalTime.ofNanoOfDay(2000000000) 00:00:02, Получает Время от значения нано-дня

замечания

Как и имя класса, LocalTime представляет собой время без временной зоны. Он не представляет дату. Это простая метка для данного времени.

Класс основан на значении, и при выполнении сравнений должен использоваться метод equals .

Этот класс из пакета java.time.

Модификация времени

Вы можете добавить часы, минуты, секунды и наносекунды:

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)

Временные зоны и их разность во времени

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");          
    }
}

Количество времени между двумя LocalTime

Существует два эквивалентных способа расчета суммы единицы времени между двумя LocalTime : (1) until(Temporal, TemporalUnit) и через (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); 
    }
}

вступление

LocalTime - неизменный класс и поточно-безопасный, используемый для представления времени, часто рассматриваемого как hour-min-sec. Время представлено до наносекундной точности. Например, значение «13: 45.30.123456789» может быть сохранено в LocalTime.

Этот класс не хранит или не представляет дату или часовую зону. Вместо этого это описание местного времени, которое видно на настенных часах. Он не может представлять мгновение на временной линии без дополнительной информации, такой как смещение или временная зона. Это класс, основанный на значении, метод equals должен использоваться для сравнения.

поля

MAX - Максимальное поддерживаемое LocalTime, '23: 59: 59.999999999 '. MIDNIGHT, MIN, NOON

Важные статические методы

now (), now (Clock clock), теперь (ZoneId zone), parse (текст CharSequence)

Важные методы

isAfter (LocalTime other), isBefore (LocalTime other), минус (TemporalAmount amountToSubtract), минус (longToSubtract, TemporalUnit unit), плюс (TemporalAmount amountToAdd), плюс (long amountToAdd, TemporalUnit unit)

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

Разницу во времени можно рассчитать любым из следующих способов:

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

Вы также можете добавлять / вычитать часы, минуты или секунды из любого объекта LocalTime.

minusHours (long hoursToSubtract), минус минуты (long hoursToMinutes), минусNanos (long nanosToSubtract), минус секунды (длинные секундыToSubtract), plusHours (long hoursToSubtract), плюсMinutes (long hoursToMinutes), плюсNanos (long nanosToSubtract), плюсSeconds (long secondsToSubtract)

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


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow