Java Локальное время

Научитесь создавать и использовать класс LocalTime в Java. Научитесь создавать LocalTime, анализировать и форматировать экземпляры LocalTime, включая общие операции, такие как добавление или вычитание часов из заданного времени.

1. Обзор

Класс java.time.LocalTime, представленный в Java 8 Date APIs, представляет местное время(часы, минуты, секунды) без какой-либо информации о дате или часовом поясе. LocalTime представляет время с точностью до наносекунды, например 09:25:59.123456789

Мы можем использовать экземпляры LocalTime для представления времени, как оно отображается на настенных часах, без необходимости указания даты или часового пояса. Например, мы можем использовать LocalTime для указания времени открытия и закрытия офиса каждый день.

Обратите внимание, что экземпляры LocalTime являются неизменяемыми и потокобезопасными.

В исходном коде Java класс LocalTime определен как Comparable и Serializable.

public final class LocalTimeextends Objectimplements Temporal, TemporalAdjuster, Comparable<LocalTime>, Serializable{//class body}

2. Создание местного времени

Как правило, мы будем создавать экземпляры локального времени в двух условиях, а именно: получать текущее время или создавать локальное время для указанной временной метки.

2.1 Получение текущего времени

Используйте метод now() для получения текущего времени.

LocalTime now = LocalTime.now();

2.2 Создание местного времени с помощью ценностей

Чтобы создать локальное время с указанием часов, минут и секунд – используйте метод of(час, минуты, секунды, миллис). Это перегруженный метод, принимающий переменное количество параметров.

LocalTime ltObject1 = LocalTime.of(08, 20, 45);LocalTime ltObject2 = LocalTime.of(08, 20, 45, 60000);

2.3. Анализ строки

Мы можем использовать метод parse(), чтобы получить время из строки.

LocalTime ltObject3 = LocalTime.parse("08:20");LocalTime ltObject4 = LocalTime.parse("08:20:45.60000");

3. Анализ в LocalTime

Класс LocalTime имеет два перегруженных метода parse() для преобразования времени в строке в экземпляр LocalTime.

parse(CharSequence text) //1parse(CharSequence text, DateTimeFormatter formatter) //2
  • Используйте первый метод, если строка содержит время в шаблоне ISO_LOCAL_TIME, например [ЧЧ]:[мм]:[сс]. Это шаблон местного времени по умолчанию в Java.
  • Для любого другого шаблона времени нам нужно использовать второй метод, в котором мы передаем время как строку, а также форматировщик, который представляет шаблон этой строки времени.
//1 - default time patternString time = "08:20:45.123456789";LocalTime localTimeObj = LocalTime.parse(time);//2 - specific time patternDateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH.mm.ss.nnn");String time = "08.20.45.123456789";LocalTime localTimeObj = LocalTime.parse(time, formatter);

4. Форматирование местного времени

Используйте метод LocalTime.format(DateTimeFormatter) для форматирования локального времени в желаемое строковое представление.

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH.mm");LocalTime today = LocalTime.now();String timeString = today.format(formatter); //12.38

5. Изменение времени

LocalTime предоставляет следующие методы, которые можно использовать для получения нового экземпляра локального времени относительно доступного экземпляра локального времени.

  • plusHours()
  • плюсМинуты()
  • plusSeconds()
  • plusNanos()
  • минусЧасы()
  • minusMinutes()
  • минусСекунды()
  • минусНанос()
LocalTime now = LocalTime.now();//3 hours laterLocalTime localTime1 = now.plusHours(3);//3 minutes earliarLocalTime localTime2 = now.minusMinutes(3);

6. Заключение

В этом уроке мы узнали о классе LocalTime, который используется для представления местного времени(часы, минуты, секунды) без какой-либо информации о дате или часовом поясе с точностью до наносекунд.

Мы научились создавать экземпляр LocalTime, разбирать строку на LocalTime и затем форматировать экземпляр LocalTime. Мы также научились добавлять и вычитать время из экземпляра LocalTime.

Исходный код Скачать

Прокрутить вверх