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

Функция withOffsetSameLocal

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

Импорт

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

Синтаксис

fun withOffsetSameLocal(offset: ZoneOffset): OffsetDateTime

Пример

Создадим объект OffsetDateTime и изменим его смещение с сохранением локального времени:

val original = OffsetDateTime.parse("2025-03-15T10:30:45+03:00") val newOffset = ZoneOffset.ofHours(5) val result = original.withOffsetSameLocal(newOffset) println("Original: $original") println("Result: $result")

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

String "Original: 2025-03-15T10:30:45+03:00" String "Result: 2025-03-15T10:30:45+05:00"

Пример

Сравним работу withOffsetSameLocal и withOffsetSameInstant:

val datetime = OffsetDateTime.parse("2025-07-20T15:45:00+02:00") val newOffset = ZoneOffset.ofHours(-3) val sameLocal = datetime.withOffsetSameLocal(newOffset) val sameInstant = datetime.withOffsetSameInstant(newOffset) println("Original: $datetime") println("Same Local: $sameLocal") println("Same Instant: $sameInstant")

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

String "Original: 2025-07-20T15:45:00+02:00" String "Same Local: 2025-07-20T15:45:00-03:00" String "Same Instant: 2025-07-20T10:45:00-03:00"

Пример

Использование с UTC смещением:

val datetime = OffsetDateTime.parse("2025-12-31T23:59:59+05:00") val utcResult = datetime.withOffsetSameLocal(ZoneOffset.UTC) println("Original: $datetime") println("UTC Result: $utcResult")

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

String "Original: 2025-12-31T23:59:59+05:00" String "UTC Result: 2025-12-31T23:59:59Z"

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

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