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

Статический метод zoneId класса TemporalQueries возвращает запрос, который можно использовать для извлечения часового пояса ZoneId из объекта, реализующего интерфейс TemporalAccessor. Если объект не содержит информации о часовом поясе, метод вернет null.

Импорт

kotlinimport java.time.temporal.TemporalQueries

Синтаксис

kotlinstatic fun zoneId(): TemporalQuery<ZoneId>

Пример

Получим ZoneId из объекта ZonedDateTime:

kotlinimport java.time.ZonedDateTime
import java.time.ZoneId
import java.time.temporal.TemporalQueries

val zonedDateTime = ZonedDateTime.now()
val query = TemporalQueries.zoneId()
val zoneId = zonedDateTime.query(query)
println(zoneId)

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

kotlinString "Europe/Moscow"

Пример

Попробуем получить ZoneId из объекта LocalDateTime, который не содержит информации о часовом поясе:

kotlinimport java.time.LocalDateTime
import java.time.temporal.TemporalQueries

val localDateTime = LocalDateTime.now()
val query = TemporalQueries.zoneId()
val zoneId = localDateTime.query(query)
println(zoneId)

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

kotlinnull

Пример

Используем метод напрямую без создания переменной для запроса:

kotlinimport java.time.ZonedDateTime
import java.time.temporal.TemporalQueries

val zonedDateTime = ZonedDateTime.now()
val zoneId = zonedDateTime.query(TemporalQueries.zoneId())
println("Zone ID: " + zoneId.getId())

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

kotlinString "Zone ID: Europe/Moscow"

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

  • класс ZonedDateTime,
    который представляет дату и время с часовым поясом
  • класс ZoneId,
    который представляет идентификатор часового пояса
  • статический метод offset класса TemporalQueries,
    который возвращает запрос для извлечения смещения времени
  • статический метод chronology класса TemporalQueries,
    который возвращает запрос для извлечения хронологии