Константа NANOS

Константа NANOS класса ChronoUnit представляет единицу времени, равную одной наносекунде (1/1,000,000,000 секунды). Она используется для измерения и manipulation временными интервалами с наносекундной точностью, а также для выполнения arithmetic операций с объектами временных API.

Импорт

kotlinimport java.time.temporal.ChronoUnit

Синтаксис

kotlinChronoUnit.NANOS

Пример

Получим объект константы NANOS и выведем ее описание:

kotlinval nanosUnit = ChronoUnit.NANOS
println("Unit: " + nanosUnit)
println("Duration: " + nanosUnit.duration)

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

kotlinString "Unit: Nanos"
String "Duration: PT0.000000001S"

Пример

Используем NANOS для добавления наносекунд к объекту LocalTime:

kotlinimport java.time.LocalTime

val time = LocalTime.of(12, 30, 45)
val newTime = time.plus(500, ChronoUnit.NANOS)
println("Original time: " + time)
println("Time after adding 500 nanos: " + newTime)

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

kotlinString "Original time: 12:30:45"
String "Time after adding 500 nanos: 12:30:45.000000500"

Пример

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

kotlinimport java.time.Instant

val start = Instant.now()
Thread.sleep(2)
val end = Instant.now()

val nanosBetween = ChronoUnit.NANOS.between(start, end)
println("Nanos between: " + nanosBetween)

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

kotlinLong 2000000

Пример

Используем NANOS для truncation времени до наносекунд:

kotlinimport java.time.LocalTime

val time = LocalTime.of(14, 25, 30, 123456789)
val truncatedTime = time.truncatedTo(ChronoUnit.NANOS)
println("Original time: " + time)
println("Truncated time: " + truncatedTime)

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

kotlinString "Original time: 14:25:30.123456789"
String "Truncated time: 14:25:30.123456789"

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

  • константу MICROS класса ChronoUnit,
    которая представляет микросекунды
  • константу MILLIS класса ChronoUnit,
    которая представляет миллисекунды
  • константу SECONDS класса ChronoUnit,
    которая представляет секунды
  • метод truncatedTo класса LocalTime,
    который обрезает время до указанной единицы