Функция 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
,
который представляет дату и время с часовым поясом