Метод getUnits

Метод getUnits интерфейса TemporalAmount возвращает неизменяемый список единиц измерения, которые составляют данный временной промежуток. Метод не принимает параметров и возвращает список объектов TemporalUnit.

Импорт

kotlinimport java.time.temporal.TemporalAmount
import java.time.temporal.TemporalUnit
import java.time.Period
import java.time.Duration

Синтаксис

kotlinfun getUnits(): List<TemporalUnit>

Пример

Получим единицы измерения для периода в 2 года, 3 месяца и 5 дней:

kotlinval period = Period.of(2, 3, 5)
val units = period.getUnits()

for (unit in units) {
  println(unit)
}

Результат выполнения кода:

kotlinArray<TemporalUnit> [Years, Months, Days]

Пример

Получим единицы измерения для длительности в 5 часов, 30 минут и 15 секунд:

kotlinval duration = Duration.ofHours(5).plusMinutes(30).plusSeconds(15)
val units = duration.getUnits()

for (unit in units) {
  println(unit)
}

Результат выполнения кода:

kotlinArray<TemporalUnit> [Seconds, Nanos]

Пример

Проверим наличие конкретной единицы измерения в периоде:

kotlinimport java.time.temporal.ChronoUnit

val period = Period.ofMonths(6)
val units = period.getUnits()
val hasMonths = units.contains(ChronoUnit.MONTHS)

println("Contains months: $hasMonths")

Результат выполнения кода:

kotlinString "Contains months: true"

Пример

Получим размер списка единиц измерения для различных временных промежутков:

kotlinval period = Period.ofYears(1)
val duration = Duration.ofDays(1)

val periodUnitsSize = period.getUnits().size
val durationUnitsSize = duration.getUnits().size

println("Period units count: $periodUnitsSize")
println("Duration units count: $durationUnitsSize")

Результат выполнения кода:

kotlinString "Period units count: 3"
String "Duration units count: 2"

Смотрите также

  • метод get интерфейса TemporalAmount,
    который возвращает значение указанной единицы измерения
  • метод getYears класса Period,
    который возвращает количество лет в периоде
  • метод getSeconds класса Duration,
    который возвращает количество секунд в длительности
  • интерфейс TemporalUnit,
    который представляет единицу измерения времени