НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
829 of 1310 menu

Функция withZoneSameInstant

Функция withZoneSameInstant класса ZonedDateTime преобразует объект даты и времени в другой часовой пояс, сохраняя тот же момент времени. В параметр мы передаем целевой часовой пояс ZoneId, к которому нужно преобразовать текущее время.

Импорт

import java.time.ZonedDateTime import java.time.ZoneId

Синтаксис

fun withZoneSameInstant(zone: ZoneId): ZonedDateTime

Пример

Преобразуем время из Нью-Йорка в Лондон с сохранением момента времени:

val newYorkTime = ZonedDateTime.parse("2025-03-15T10:30:00-05:00[America/New_York]") val londonTime = newYorkTime.withZoneSameInstant(ZoneId.of("Europe/London")) println(londonTime)

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

String "2025-03-15T15:30:00Z[Europe/London]"

Пример

Преобразуем время из Toкио в UTC:

val tokyoTime = ZonedDateTime.parse("2025-07-20T18:45:00+09:00[Asia/Tokyo]") val utcTime = tokyoTime.withZoneSameInstant(ZoneId.of("UTC")) println(utcTime)

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

String "2025-07-20T09:45:00Z[UTC]"

Пример

Сравним преобразование с сохранением момента времени и с сохранением локального времени:

val original = ZonedDateTime.parse("2025-12-31T20:00:00-08:00[America/Los_Angeles]") val sameInstant = original.withZoneSameInstant(ZoneId.of("Europe/Paris")) val sameLocal = original.withZoneSameLocal(ZoneId.of("Europe/Paris")) println("Same instant: $sameInstant") println("Same local: $sameLocal")

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

String "Same instant: 2025-01-01T05:00:00+01:00[Europe/Paris]" String "Same local: 2025-12-31T20:00:00+01:00[Europe/Paris]"

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

  • функцию withZoneSameLocal класса ZonedDateTime,
    которая преобразует время в другой часовой пояс с сохранением локального времени
  • функцию getZone класса ZonedDateTime,
    которая возвращает текущий часовой пояс
  • класс ZoneId,
    который представляет идентификатор часового пояса
  • функцию toLocalDateTime класса ZonedDateTime,
    которая преобразует время в локальную дату и время без информации о часовом поясе
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить