Функция from

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

Импорт

kotlinimport java.time.ZoneId
import java.time.ZonedDateTime

Синтаксис

kotlinfun from(temporal: TemporalAccessor): ZoneId

Пример

Создадим объект ZoneId из объекта ZonedDateTime:

kotlinval zonedDateTime = ZonedDateTime.now()
val zoneId = ZoneId.from(zonedDateTime)
println(zoneId.getId())

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

kotlinString "Europe/Moscow"

Пример

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

kotlinimport java.time.LocalDateTime

val localDateTime = LocalDateTime.now()

try {
  val zoneId = ZoneId.from(localDateTime)
  println(zoneId.getId())
} catch (e: DateTimeException) {
  println("Error: " + e.getMessage())
}

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

kotlinString "Error: Unable to obtain ZoneId from TemporalAccessor: 2025-07-15T14:30:45.123 of type java.time.LocalDateTime"

Пример

Используем ZoneId.from с объектом OffsetDateTime:

kotlinimport java.time.OffsetDateTime
import java.time.ZoneOffset

val offsetDateTime = OffsetDateTime.now()
val zoneId = ZoneId.from(offsetDateTime)
println(zoneId.getId())

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

kotlinString "+03:00"

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

  • функцию of класса ZoneId,
    которая создает часовой пояс по строковому идентификатору
  • функцию systemDefault класса ZoneId,
    которая возвращает системный часовой пояс
  • функцию getZone класса ZonedDateTime,
    которая возвращает часовой пояс из даты-времени
  • класс ZonedDateTime,
    который представляет дату и время с часовым поясом