Функция toLocalDate

Функция toLocalDate класса ZonedDateTime преобразует объект ZonedDateTime в объект LocalDate. При этом отбрасывается информация о времени и часовом поясе, сохраняется только дата.

Импорт

kotlinimport java.time.ZonedDateTime
import java.time.LocalDate

Синтаксис

kotlinfun toLocalDate(): LocalDate

Пример

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

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

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

kotlinString "2025-07-15"

Пример

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

kotlinval zonedDateTime = ZonedDateTime.parse("2025-12-31T23:59:59+01:00[Europe/Paris]")
val localDate = zonedDateTime.toLocalDate()

val year = localDate.year
val month = localDate.monthValue
val day = localDate.dayOfMonth

println("Year: $year, Month: $month, Day: $day")

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

kotlinString "Year: 2025, Month: 12, Day: 31"

Пример

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

kotlinval zdt1 = ZonedDateTime.parse("2025-01-01T00:00:00+09:00[Asia/Tokyo]")
val zdt2 = ZonedDateTime.parse("2024-12-31T15:00:00-05:00[America/New_York]")

val date1 = zdt1.toLocalDate()
val date2 = zdt2.toLocalDate()

println("Tokyo date: $date1")
println("New York date: $date2")
println("Dates are equal: ${date1 == date2}")

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

kotlinString "Tokyo date: 2025-01-01"
String "New York date: 2024-12-31"
String "Dates are equal: false"

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

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