Функция truncatedTo
Функция truncatedTo класса Instant обрезает объект времени до указанной единицы, отбрасывая все более мелкие компоненты времени.
В параметр мы передаем временную единицу ChronoUnit, до которой нужно обрезать временную метку.
Импорт
import java.time.Instant
import java.time.temporal.ChronoUnit
Синтаксис
fun truncatedTo(unit: TemporalUnit): Instant
Пример
Обрежем временную метку до минут, отбросив секунды и наносекунды:
val instant = Instant.parse("2025-07-15T14:30:45.123456789Z")
val truncated = instant.truncatedTo(ChronoUnit.MINUTES)
println(truncated)
Результат выполнения кода:
String "2025-07-15T14:30:00Z"
Пример
Обрежем временную метку до часов, отбросив минуты, секунды и наносекунды:
val instant = Instant.parse("2025-12-31T23:45:30.987654321Z")
val truncated = instant.truncatedTo(ChronoUnit.HOURS)
println(truncated)
Результат выполнения кода:
String "2025-12-31T23:00:00Z"
Пример
Обрежем временную метку до дней, отбросив время полностью:
val instant = Instant.parse("2025-03-20T15:22:10.555555555Z")
val truncated = instant.truncatedTo(ChronoUnit.DAYS)
println(truncated)
Результат выполнения кода:
String "2025-03-20T00:00:00Z"
Пример
Сравним оригинальную и обрезанную временные метки:
val original = Instant.now()
val truncated = original.truncatedTo(ChronoUnit.SECONDS)
println("Original: $original")
println("Truncated: $truncated")
println("Difference in nanos: ${original.nano - truncated.nano}")
Результат выполнения кода:
String "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,
который содержит единицы времени для обрезки