Функция toLocalTime

Функция toLocalTime класса ZonedDateTime преобразует объект с датой, временем и часовым поясом в объект LocalTime, содержащий только время. При этом информация о дате и часовом поясе теряется.

Импорт

kotlinimport java.time.ZonedDateTime
import java.time.LocalTime

Синтаксис

kotlinfun toLocalTime(): LocalTime

Пример

Преобразуем объект ZonedDateTime в LocalTime:

kotlinval zonedDateTime = ZonedDateTime.parse("2025-07-15T14:30:45+03:00[Europe/Moscow]")
val localTime = zonedDateTime.toLocalTime()
println(localTime)

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

kotlinString "14:30:45"

Пример

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

kotlinval zonedDateTime = ZonedDateTime.parse("2025-12-31T23:15:30+05:00[Asia/Yekaterinburg]")
val localTime = zonedDateTime.toLocalTime()

val hour = localTime.hour
val minute = localTime.minute
val second = localTime.second

println("Hour: $hour, Minute: $minute, Second: $second")

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

kotlinString "Hour: 23, Minute: 15, Second: 30"

Пример

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

kotlinval zdt1 = ZonedDateTime.parse("2025-06-15T10:00:00+01:00[Europe/London]")
val zdt2 = ZonedDateTime.parse("2025-06-15T12:00:00+03:00[Europe/Moscow]")

val time1 = zdt1.toLocalTime()
val time2 = zdt2.toLocalTime()

println("London time: $time1")
println("Moscow time: $time2")
println("Times are equal: ${time1 == time2}")

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

kotlinString "London time: 10:00:00"
String "Moscow time: 12:00:00"
String "Times are equal: false"

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

  • функцию toLocalDate класса ZonedDateTime,
    которая преобразует в объект LocalDate
  • функцию toLocalDateTime класса ZonedDateTime,
    которая преобразует в объект LocalDateTime
  • функцию toLocalTime класса LocalDateTime,
    которая преобразует LocalDateTime в LocalTime
  • класс LocalTime,
    который представляет время без даты и часового пояса