Метод minus
Метод minus класса OffsetTime вычитает указанное количество времени из объекта времени со смещением.
В первый параметр мы передаем количество для вычитания, во второй параметр - единицу измерения времени.
Также метод имеет перегруженные версии для вычитания часов, минут, секунд и наносекунд по отдельности.
Импорт
import java.time.OffsetTime
import java.time.temporal.ChronoUnit
Синтаксис
fun minus(amountToSubtract: Long, unit: TemporalUnit): OffsetTime
fun minusHours(hours: Long): OffsetTime
fun minusMinutes(minutes: Long): OffsetTime
fun minusSeconds(seconds: Long): OffsetTime
fun minusNanos(nanos: Long): OffsetTime
Пример
Вычтем 2 часа из времени со смещением:
val time = OffsetTime.parse("15:30:45+03:00")
val result = time.minusHours(2)
println(result)
Результат выполнения кода:
String "13:30:45+03:00"
Пример
Вычтем 30 минут с использованием универсального метода:
val time = OffsetTime.parse("10:15:20+02:00")
val result = time.minus(30, ChronoUnit.MINUTES)
println(result)
Результат выполнения кода:
String "09:45:20+02:00"
Пример
Вычтем 45 секунд и 500 миллисекунд из времени:
val time = OffsetTime.parse("18:20:30.500+01:00")
val result = time.minusSeconds(45).minusNanos(500000000)
println(result)
Результат выполнения кода:
String "18:19:45+01:00"
Пример
Вычтем различные единицы времени и проверим результат:
val originalTime = OffsetTime.parse("23:59:59+00:00")
val minus1Hour = originalTime.minusHours(1)
val minus30Minutes = originalTime.minusMinutes(30)
val minus90Seconds = originalTime.minusSeconds(90)
println("Original: $originalTime")
println("Minus 1 hour: $minus1Hour")
println("Minus 30 minutes: $minus30Minutes")
println("Minus 90 seconds: $minus90Seconds")
Результат выполнения кода:
String "Original: 23:59:59Z"
String "Minus 1 hour: 22:59:59Z"
String "Minus 30 minutes: 23:29:59Z"
String "Minus 90 seconds: 23:58:29Z"
Смотрите также
-
метод
plusклассаOffsetTime,
который добавляет время к объекту OffsetTime -
метод
withклассаOffsetTime,
который устанавливает конкретное значение времени -
класс
ChronoUnit,
который содержит единицы измерения времени