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

Функция withOffsetSameInstant

Функция withOffsetSameInstant класса OffsetDateTime преобразует текущий объект даты и времени со смещением к новому указанному смещению, сохраняя при этом тот же самый момент времени в UTC. В параметр мы передаем объект ZoneOffset, представляющий новое смещение от UTC.

Импорт

import java.time.OffsetDateTime import java.time.ZoneOffset

Синтаксис

fun withOffsetSameInstant(offset: ZoneOffset): OffsetDateTime

Пример

Преобразуем время со смещением +03:00 к смещению +05:00 с сохранением момента времени:

val original = OffsetDateTime.parse("2025-07-15T10:30:00+03:00") val newOffset = ZoneOffset.ofHours(5) val result = original.withOffsetSameInstant(newOffset) println(result)

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

String "2025-07-15T12:30:00+05:00"

Пример

Преобразуем время из UTC в смещение -08:00:

val utcTime = OffsetDateTime.parse("2025-12-31T23:45:00Z") val pacificOffset = ZoneOffset.ofHours(-8) val result = utcTime.withOffsetSameInstant(pacificOffset) println(result)

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

String "2025-12-31T15:45:00-08:00"

Пример

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

val original = OffsetDateTime.parse("2025-03-20T15:00:00+02:00") val newOffset = ZoneOffset.ofHours(-4) val sameInstant = original.withOffsetSameInstant(newOffset) val sameLocal = original.withOffsetSameLocal(newOffset) println("Same instant: $sameInstant") println("Same local: $sameLocal")

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

String "Same instant: 2025-03-20T09:00:00-04:00" String "Same local: 2025-03-20T15:00:00-04:00"

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

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