Функция minus

Функция minus класса OffsetDateTime позволяет вычитать временные периоды из даты-времени со смещением. Функция имеет несколько вариантов: вычитание Duration, Period, отдельных временных единиц через параметры, а также через TemporalAmount.

Импорт

kotlinimport java.time.OffsetDateTime
import java.time.Duration
import java.time.Period
import java.time.temporal.ChronoUnit

Синтаксис

kotlinfun minus(amount: TemporalAmount): OffsetDateTime
kotlinfun minus(amountToSubtract: Long, unit: TemporalUnit): OffsetDateTime
kotlinfun minusDays(days: Long): OffsetDateTime
kotlinfun minusHours(hours: Long): OffsetDateTime
kotlinfun minusMinutes(minutes: Long): OffsetDateTime
kotlinfun minusSeconds(seconds: Long): OffsetDateTime
kotlinfun minusNanos(nanos: Long): OffsetDateTime

Пример

Вычтем 2 дня из даты-времени со смещением:

kotlinval dateTime = OffsetDateTime.parse("2025-03-15T10:30:45+03:00")
val result = dateTime.minusDays(2)
println(result)

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

kotlinString "2025-03-13T10:30:45+03:00"

Пример

Вычтем 3 часа и 15 минут используя Duration:

kotlinval dateTime = OffsetDateTime.parse("2025-07-20T14:45:30+02:00")
val duration = Duration.ofHours(3).plusMinutes(15)
val result = dateTime.minus(duration)
println(result)

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

kotlinString "2025-07-20T11:30:30+02:00"

Пример

Вычтем 1 месяц и 5 дней используя Period:

kotlinval dateTime = OffsetDateTime.parse("2025-12-25T18:00:00+01:00")
val period = Period.ofMonths(1).plusDays(5)
val result = dateTime.minus(period)
println(result)

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

kotlinString "2025-11-20T18:00:00+01:00"

Пример

Вычтем 2 недели используя ChronoUnit:

kotlinval dateTime = OffsetDateTime.parse("2025-05-10T09:15:00-05:00")
val result = dateTime.minus(2, ChronoUnit.WEEKS)
println(result)

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

kotlinString "2025-04-26T09:15:00-05:00"

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

  • функцию plus класса OffsetDateTime,
    которая добавляет период к дате-времени со смещением
  • функцию now класса OffsetDateTime,
    которая возвращает текущую дату-время со смещением
  • функцию parse класса OffsetDateTime,
    которая преобразует строку в дату-время со смещением
  • класс Duration,
    который представляет продолжительность времени