АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
962 of 1310 menu
Бесплатный тренинг по PHP: форматирование строк. Начало 25 сентября. Жми для записи!

Метод withOffsetSameLocal

Метод withOffsetSameLocal класса OffsetTime возвращает копию объекта времени с указанным смещением, сохраняя при этом локальное время неизменным. В параметр мы передаем новое смещение ZoneOffset, к которому нужно адаптировать время.

Импорт

import java.time.OffsetTime import java.time.ZoneOffset

Синтаксис

fun withOffsetSameLocal(offset: ZoneOffset): OffsetTime

Пример

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

val originalTime = OffsetTime.of(14, 30, 0, 0, ZoneOffset.ofHours(3)) val newTime = originalTime.withOffsetSameLocal(ZoneOffset.ofHours(5)) println("Original: $originalTime") println("New: $newTime")

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

String "Original: 14:30+03:00" String "New: 14:30+05:00"

Пример

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

val time = OffsetTime.of(10, 0, 0, 0, ZoneOffset.ofHours(2)) val sameLocal = time.withOffsetSameLocal(ZoneOffset.ofHours(5)) val sameInstant = time.withOffsetSameInstant(ZoneOffset.ofHours(5)) println("Original: $time") println("Same Local: $sameLocal") println("Same Instant: $sameInstant")

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

String "Original: 10:00+02:00" String "Same Local: 10:00+05:00" String "Same Instant: 13:00+05:00"

Пример

Используем withOffsetSameLocal для преобразования времени в UTC:

val moscowTime = OffsetTime.of(18, 45, 0, 0, ZoneOffset.ofHours(3)) val utcTime = moscowTime.withOffsetSameLocal(ZoneOffset.UTC) println("Moscow: $moscowTime") println("UTC: $utcTime")

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

String "Moscow: 18:45+03:00" String "UTC: 18:45Z"

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

  • метод withOffsetSameInstant класса OffsetTime,
    который изменяет смещение с сохранением момента времени
  • метод getOffset класса OffsetTime,
    который возвращает текущее смещение времени
  • метод toLocalTime класса OffsetTime,
    который возвращает локальное время без смещения
  • класс ZoneOffset,
    который представляет смещение временной зоны