Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
835 of 1310 menu
Бесплатный курс по выкладке сайтов на хостинг. Разбираем все нюансы! Начало 14 октября. Жми для записи!

Функция toInstant

Функция toInstant класса ZonedDateTime преобразует дату и время с часовым поясом в объект Instant, который представляет собой момент времени на временной шкале UTC. Это полезно для сравнения моментов времени независимо от часовых поясов или для хранения временных меток.

Импорт

import java.time.ZonedDateTime import java.time.Instant

Синтаксис

fun toInstant(): Instant

Пример

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

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

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

String "2025-07-15T07:30:45Z"

Пример

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

val zdt1 = ZonedDateTime.parse("2025-12-31T23:00:00+01:00[Europe/Paris]") val zdt2 = ZonedDateTime.parse("2025-12-31T23:00:00-05:00[America/New_York]") val instant1 = zdt1.toInstant() val instant2 = zdt2.toInstant() println("Paris instant: $instant1") println("New York instant: $instant2") println("Is Paris before New York? ${instant1.isBefore(instant2)}")

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

String "Paris instant: 2025-12-31T22:00:00Z" String "New York instant: 2026-01-01T04:00:00Z" String "Is Paris before New York? true"

Пример

Используем Instant для вычисления разницы во времени между двумя событиями:

val event1 = ZonedDateTime.parse("2025-06-10T09:00:00+02:00[Europe/Berlin]") val event2 = ZonedDateTime.parse("2025-06-10T14:30:00-07:00[America/Los_Angeles]") val instant1 = event1.toInstant() val instant2 = event2.toInstant() val duration = java.time.Duration.between(instant1, instant2) println("Duration between events: ${duration.toHours()} hours")

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

String "Duration between events: 16 hours"

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

  • функцию now класса ZonedDateTime,
    которая возвращает текущие дату и время в системном часовом поясе
  • функцию parse класса ZonedDateTime,
    которая преобразует строку в объект ZonedDateTime
  • функцию now класса Instant,
    которая возвращает текущий момент времени в UTC
  • функцию toInstant класса LocalDateTime,
    которая преобразует LocalDateTime в Instant с учетом часового пояса