Метод 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
,
который представляет смещение временной зоны