Функция truncatedTo

Функция truncatedTo класса Instant обрезает объект времени до указанной единицы, отбрасывая все более мелкие компоненты времени. В параметр мы передаем временную единицу ChronoUnit, до которой нужно обрезать временную метку.

Импорт

kotlinimport java.time.Instant
import java.time.temporal.ChronoUnit

Синтаксис

kotlinfun truncatedTo(unit: TemporalUnit): Instant

Пример

Обрежем временную метку до минут, отбросив секунды и наносекунды:

kotlinval instant = Instant.parse("2025-07-15T14:30:45.123456789Z")
val truncated = instant.truncatedTo(ChronoUnit.MINUTES)
println(truncated)

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

kotlinString "2025-07-15T14:30:00Z"

Пример

Обрежем временную метку до часов, отбросив минуты, секунды и наносекунды:

kotlinval instant = Instant.parse("2025-12-31T23:45:30.987654321Z")
val truncated = instant.truncatedTo(ChronoUnit.HOURS)
println(truncated)

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

kotlinString "2025-12-31T23:00:00Z"

Пример

Обрежем временную метку до дней, отбросив время полностью:

kotlinval instant = Instant.parse("2025-03-20T15:22:10.555555555Z")
val truncated = instant.truncatedTo(ChronoUnit.DAYS)
println(truncated)

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

kotlinString "2025-03-20T00:00:00Z"

Пример

Сравним оригинальную и обрезанную временные метки:

kotlinval original = Instant.now()
val truncated = original.truncatedTo(ChronoUnit.SECONDS)

println("Original: $original")
println("Truncated: $truncated")
println("Difference in nanos: ${original.nano - truncated.nano}")

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

kotlinString "Original: 2025-07-15T14:30:45.123456789Z"
String "Truncated: 2025-07-15T14:30:45Z"
String "Difference in nanos: 123456789"

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

  • функцию now класса Instant,
    которая возвращает текущую временную метку
  • функцию parse класса Instant,
    которая преобразует строку в Instant
  • функцию truncatedTo класса LocalTime,
    которая обрезает время до указанной единицы
  • класс ChronoUnit,
    который содержит единицы времени для обрезки