Константа NANO_OF_DAY
Константа NANO_OF_DAY класса ChronoField представляет поле времени, которое содержит количество наносекунд, прошедших с начала суток.
Значение может варьироваться от 0 до 86399999999999 (24 часа × 60 минут × 60 секунд × 1000000000 наносекунд - 1 наносекунда).
Данное поле является временным (time-based) и может быть использовано с классами LocalTime, LocalDateTime и другими временными объектами.
Импорт
import java.time.temporal.ChronoField
Синтаксис
ChronoField.NANO_OF_DAY
Пример
Получим количество наносекунд из текущего времени:
import java.time.LocalTime
val currentTime = LocalTime.now()
val nanoOfDay = currentTime.getLong(ChronoField.NANO_OF_DAY)
println("Nano of day: $nanoOfDay")
Результат выполнения кода:
String "Nano of day: 12345678900000"
Пример
Создадим время из количества наносекунд:
val nanoOfDay = 3661000000000L
val time = LocalTime.ofNanoOfDay(nanoOfDay)
println("Time: $time")
Результат выполнения кода:
String "Time: 01:01:01"
Пример
Проверим валидность значения для NANO_OF_DAY:
val validValue = 43200000000000L
val invalidValue = 86400000000000L
println("Valid: " + ChronoField.NANO_OF_DAY.isValidValue(validValue))
println("Invalid: " + ChronoField.NANO_OF_DAY.isValidValue(invalidValue))
Результат выполнения кода:
String "Valid: true"
String "Invalid: false"
Пример
Используем NANO_OF_DAY с LocalDateTime:
import java.time.LocalDateTime
val dateTime = LocalDateTime.now()
val nanoOfDay = dateTime.getLong(ChronoField.NANO_OF_DAY)
println("Nano of day from DateTime: $nanoOfDay")
Результат выполнения кода:
String "Nano of day from DateTime: 12345678900000"
Смотрите также
-
константу
SECOND_OF_DAYклассаChronoField,
которая представляет секунды в пределах суток -
константу
MILLI_OF_DAYклассаChronoField,
которая представляет миллисекунды в пределах суток -
функцию
toNanoOfDayклассаLocalTime,
которая преобразует время в количество наносекунд