В программировании на Java могут быть определенные случаи, когда возникает необходимость измерять время в секундах или наносекундах. Например, сравнение и вычисление разницы во времени между различными временными рамками или возврат вычисленных минут, секунд или наносекунд. В таких случаях « Класс продолжительности ” в Java помогает эффективно работать с функциями, связанными со временем.
В этом блоге подробно рассказывается о применении «класса длительности» в Java.
Что такое класс продолжительности Java?
“ Продолжительность ” — это основанный на значениях класс, присутствующий в библиотеке времени Java, используемый для измерения времени в секундах и наносекундах. Кроме того, этот класс является неизменяемым и потокобезопасным.
Методы класса продолжительности
Ниже приведены некоторые важные методы класса Duration:
Методы | Применение |
addTo (временное временное) | Он используется для добавления этой длительности к конкретному временному объекту. |
получить (временная единица) | Он используется для получения запрошенного значения единицы. |
абс() | Это дает положительную копию длины. |
Продолжительность между (временной startInclusive, Temporal endExclusive) | Этот метод находит продолжительность между двумя объектами (временными). |
плюс(продолжительность) | Он применяется, чтобы дать копию этой длительности с предоставленной добавленной продолжительностью. |
минус(длительность) | Этот метод используется для получения копии этой продолжительности вместе с вычтенной предоставленной продолжительностью. |
получитьНано() | Он извлекает наносекунды в секунду в этой продолжительности. |
получитьсекунды() | Он извлекает секунды в этой продолжительности. |
of(длинная сумма, временная единица) | Этот метод получает длительность, соответствующую сумме в предоставленной единице. |
ofSeconds (длинная секунда) | Он получает Duration, относящуюся к количеству секунд. |
ofNanos (долго) | Он получает Duration, соответствующую количеству наносекунд. |
ofMinutes(длинная минута) | Он получает продолжительность, означающую количество минут. |
ofMillis (длинный миллис) | Этот метод получает Duration, представляющую миллисекунды. |
ofHours (долгие часы) | Он получает продолжительность, относящуюся к стандартным часам/часам по умолчанию. |
ofDays (длинные дни) | Он получает Продолжительность, указывающую количество стандартных/по умолчанию 24-часовых дней. |
сравнить с (длительность x) | Он сравнивает заданную длительность с предоставленной длительностью. |
Продолжительность между (временным startIncl, временным endExcl) | Он получает продолжительность, соответствующую продолжительности между двумя объектами (временными). |
разбор (текст CharSequence) | Этот метод извлекает длительность из текстовой строки. |
от(Временная сумма) | Он извлекает экземпляр Duration через временную сумму. |
Теперь давайте применим некоторые из методов «Duration Class».
Прежде чем перейти к примерам, импортируйте приведенный ниже пакет для работы с « Продолжительность ' сорт:
импортировать java.time.Duration;
Пример 1. Применение методов класса Duration «between()», «get()» и «isNegative()» в Java
В этом примере применяются обсуждаемые методы и возвращается соответствующий результат в виде логического значения или в виде вычисленных секунд:
открытый класс {публичная статическая пустота главная ( Нить [ ] аргументы ) {
Продолжительность timeDiff1 = Продолжительность.между ( LocalTime.MAX, LocalTime.NOON ) ;
System.out.println ( timeDiff1.isОтрицательный ( ) ) ;
System.out.println ( timeDiff1.get ( ChronoUnit.SECONDS ) ) ;
Продолжительность timeDiff2 = Продолжительность.между ( LocalTime.NOON, LocalTime.MAX ) ;
System.out.println ( timeDiff2.isОтрицательный ( ) ) ;
System.out.println ( timeDiff2.get ( ChronoUnit.SECONDS ) ) ;
} }
В приведенных выше строках кода:
- Прежде всего, примените « между() ” class(Duration) для возврата разницы во времени между указанным временем.
- Примечание: “ Макс ' соответствует ' 23:59:59.99 ” и “ LocalTime.Полдень ” означает “ 12:00 ».
- После этого свяжите « isNegative() ” с вычисленной разницей, чтобы проанализировать, является ли разница во времени отрицательной, возвращая логический результат.
- Также примените « получать() ” для получения рассчитанной разницы.
- Теперь примените « между() », поменяв таймфреймы местами и повторив рассмотренные подходы к анализу значений и возврату их разницы.
Выход
В этом результате можно заметить, что вычисляются соответствующие разницы во времени и соответственно оцениваются отрицательные значения.
Прежде чем перейти к следующему примеру, обязательно импортируйте следующий дополнительный пакет для работы с датой и временем:
импортировать java.time.temporal.ChronoUnit;
Пример 2. Применение методов «from()», «getDuration()» и «toMinutes()» класса Duration
В этом примере обсуждаемые методы могут быть реализованы для получения продолжительности в часах и извлечения ее в минутах:
открытый класс Durationtime2 {публичная статическая пустота главная ( Нить [ ] аргументы ) {
Длительность = Длительность.от ( ChronoUnit.HOURS.getDuration ( ) ) ;
System.out.println ( 'Продолжительность в минутах ->' +dur.toMinutes ( ) ) ;
} }
В этом кодовом блоке примените комбинированный « от() ' и ' получить продолжительность() ” для получения продолжительности в часах. После этого свяжите « до минут() », чтобы вместо этого вернуть продолжительность в минутах.
Выход
В приведенном выше выводе видно, что соответствующие минуты в часе извлекаются надлежащим образом.
Заключение
“ Продолжительность ” — это основанный на значениях класс в библиотеке времени Java, используемый для измерения времени в секундах и наносекундах. Кроме того, его можно вызывать, используя другие единицы измерения продолжительности, например «минуты» и «часы». Этот класс можно использовать для вычисления разницы во времени между временными рамками или для возврата длительности в определенном формате, т. е. « минуты ». В этой статье продемонстрировано использование Java «Duration Class».