Функция withLaterOffsetAtOverlap
Функция withLaterOffsetAtOverlap класса ZonedDateTime возвращает копию объекта с более поздним смещением при переходе на летнее время.
Эта функция используется в ситуациях, когда локальное время попадает в период перекрытия часовых поясов, и позволяет явно выбрать версию времени с более поздним смещением.
Импорт
import java.time.ZonedDateTime
Синтаксис
fun withLaterOffsetAtOverlap(): ZonedDateTime
Пример
Создадим объект ZonedDateTime и применим функцию withLaterOffsetAtOverlap:
val zdt = ZonedDateTime.parse("2025-03-09T02:30:00-05:00[America/New_York]")
val result = zdt.withLaterOffsetAtOverlap()
println("Original: $zdt")
println("With later offset: $result")
Результат выполнения кода:
String "Original: 2025-03-09T02:30-05:00[America/New_York]"
String "With later offset: 2025-03-09T02:30-04:00[America/New_York]"
Пример
Сравним смещения до и после применения функции:
val zdt = ZonedDateTime.parse("2025-11-02T01:30:00-04:00[America/New_York]")
val laterZdt = zdt.withLaterOffsetAtOverlap()
val originalOffset = zdt.offset
val laterOffset = laterZdt.offset
println("Original offset: $originalOffset")
println("Later offset: $laterOffset")
Результат выполнения кода:
String "Original offset: -04:00"
String "Later offset: -05:00"
Пример
Проверим работу функции в обычное время (без перекрытия):
val zdt = ZonedDateTime.parse("2025-06-15T10:30:00-04:00[America/New_York]")
val result = zdt.withLaterOffsetAtOverlap()
println("Original: $zdt")
println("Result: $result")
println("Are equal: ${zdt == result}")
Результат выполнения кода:
String "Original: 2025-06-15T10:30-04:00[America/New_York]"
String "Result: 2025-06-15T10:30-04:00[America/New_York]"
String "Are equal: true"
Смотрите также
-
функцию
withEarlierOffsetAtOverlapклассаZonedDateTime,
которая возвращает копию с более ранним смещением при перекрытии -
функцию
getOffsetклассаZonedDateTime,
которая возвращает смещение часового пояса -
функцию
withZoneSameInstantклассаZonedDateTime,
которая возвращает копию с тем же моментом времени в другом часовом поясе -
класс
ZoneId,
который представляет идентификатор часового пояса