Функция from
Функция from класса ZoneId создает объект часового пояса из любого временного объекта, реализующего интерфейс TemporalAccessor.
В параметр мы передаем временной объект, из которого нужно извлечь информацию о часовом поясе.
Импорт
import java.time.ZoneId
import java.time.ZonedDateTime
Синтаксис
fun from(temporal: TemporalAccessor): ZoneId
Пример
Создадим объект ZoneId из объекта ZonedDateTime:
val zonedDateTime = ZonedDateTime.now()
val zoneId = ZoneId.from(zonedDateTime)
println(zoneId.getId())
Результат выполнения кода:
String "Europe/Moscow"
Пример
Попробуем создать ZoneId из объекта, который не содержит информации о часовом поясе:
import java.time.LocalDateTime
val localDateTime = LocalDateTime.now()
try {
val zoneId = ZoneId.from(localDateTime)
println(zoneId.getId())
} catch (e: DateTimeException) {
println("Error: " + e.getMessage())
}
Результат выполнения кода:
String "Error: Unable to obtain ZoneId from TemporalAccessor: 2025-07-15T14:30:45.123 of type java.time.LocalDateTime"
Пример
Используем ZoneId.from с объектом OffsetDateTime:
import java.time.OffsetDateTime
import java.time.ZoneOffset
val offsetDateTime = OffsetDateTime.now()
val zoneId = ZoneId.from(offsetDateTime)
println(zoneId.getId())
Результат выполнения кода:
String "+03:00"
Смотрите также
-
функцию
ofклассаZoneId,
которая создает часовой пояс по строковому идентификатору -
функцию
systemDefaultклассаZoneId,
которая возвращает системный часовой пояс -
функцию
getZoneклассаZonedDateTime,
которая возвращает часовой пояс из даты-времени -
класс
ZonedDateTime,
который представляет дату и время с часовым поясом