Программисты больше не нужны!
Нужны ИИ инженеры! Хотите научиться? Вступайте в канал!
1135 of 1319 menu
◀ ▶

Статический метод precision

Статический метод precision класса TemporalQueries возвращает запрос, который можно использовать для получения минимальной единицы времени (точности), поддерживаемой временным объектом. Этот метод возвращает объект TemporalQuery, который при применении к временному объекту возвращает объект TemporalUnit, представляющий наименьшую единицу времени, которую может содержать данный объект.

Импорт

import java.time.temporal.TemporalQueries import java.time.temporal.TemporalUnit

Синтаксис

static fun precision(): TemporalQuery<TemporalUnit>

Пример

Получим точность для различных временных объектов:

import java.time.LocalDate import java.time.LocalTime import java.time.LocalDateTime import java.time.temporal.TemporalQueries import java.time.temporal.TemporalUnit val date = LocalDate.of(2025, 12, 31) val time = LocalTime.of(14, 30, 45) val dateTime = LocalDateTime.of(date, time) val datePrecision = date.query(TemporalQueries.precision()) val timePrecision = time.query(TemporalQueries.precision()) val dateTimePrecision = dateTime.query(TemporalQueries.precision()) println("Date precision: " + datePrecision) println("Time precision: " + timePrecision) println("DateTime precision: " + dateTimePrecision)

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

String "Date precision: Days" String "Time precision: Nanos" String "DateTime precision: Nanos"

Пример

Сравним точность разных временных типов:

import java.time.Instant import java.time.ZonedDateTime import java.time.temporal.TemporalQueries import java.time.temporal.ChronoUnit val instant = Instant.now() val zonedDateTime = ZonedDateTime.now() val instantPrecision = instant.query(TemporalQueries.precision()) val zonedPrecision = zonedDateTime.query(TemporalQueries.precision()) println("Instant precision: " + instantPrecision) println("ZonedDateTime precision: " + zonedPrecision) println("Is instant precision nanoseconds: " + (instantPrecision == ChronoUnit.NANOS))

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

String "Instant precision: Nanos" String "ZonedDateTime precision: Nanos" String "Is instant precision nanoseconds: true"

Пример

Используем полученную точность для проверки поддерживаемых операций:

import java.time.LocalDate import java.time.temporal.TemporalQueries import java.time.temporal.ChronoUnit val date = LocalDate.of(2025, 7, 15) val precision = date.query(TemporalQueries.precision()) if (precision == ChronoUnit.DAYS) { println("This temporal object supports day-based operations") } else { println("This temporal object does not support day-based operations") } val canAddHours = date.isSupported(ChronoUnit.HOURS) println("Can add hours: " + canAddHours)

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

String "This temporal object supports day-based operations" String "Can add hours: false"

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

  • метод zoneId класса TemporalQueries,
    который возвращает запрос для получения идентификатора часового пояса
  • метод chronology класса TemporalQueries,
    который возвращает запрос для получения хронологии
  • метод offset класса TemporalQueries,
    который возвращает запрос для получения смещения времени
  • метод localDate класса TemporalQueries,
    который возвращает запрос для получения локальной даты
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить