Функция with
Функция with класса OffsetDateTime возвращает копию исходного объекта с измененным смещением времени.
В первый параметр мы передаем новое значение смещения, которое будет применено к текущей дате и времени.
Импорт
import java.time.OffsetDateTime
import java.time.ZoneOffset
Синтаксис
fun with(offset: ZoneOffset): OffsetDateTime
Пример
Создадим объект OffsetDateTime и изменим его смещение на UTC+05:00:
val originalDateTime = OffsetDateTime.parse("2025-07-15T10:30:45+03:00")
val newOffset = ZoneOffset.ofHours(5)
val resultDateTime = originalDateTime.with(newOffset)
println("Original: $originalDateTime")
println("Result: $resultDateTime")
Результат выполнения кода:
String "Original: 2025-07-15T10:30:45+03:00"
String "Result: 2025-07-15T10:30:45+05:00"
Пример
Изменим смещение времени на UTC-08:00:
val dateTime = OffsetDateTime.parse("2025-12-31T23:59:59+01:00")
val pacificOffset = ZoneOffset.ofHours(-8)
val result = dateTime.with(pacificOffset)
println(result)
Результат выполнения кода:
String "2025-12-31T23:59:59-08:00"
Пример
Используем смещение с минутами и проверим компоненты даты:
val original = OffsetDateTime.parse("2025-03-20T15:45:30+02:30")
val newOffset = ZoneOffset.ofHoursMinutes(5, 30)
val result = original.with(newOffset)
val year = result.year
val hour = result.hour
val offset = result.offset
println("Year: $year, Hour: $hour, Offset: $offset")
Результат выполнения кода:
String "Year: 2025, Hour: 15, Offset: +05:30"
Смотрите также
-
функцию
withOffsetSameInstantклассаOffsetDateTime,
которая изменяет смещение с корректировкой времени -
класс
ZoneOffset,
который представляет смещение времени от UTC