Функция isValidOffset
Функция isValidOffset
класса ZoneRules
проверяет, является ли переданное смещение валидным для указанных локальных даты и времени.
В первый параметр мы передаем локальную дату и время, во второй параметр передаем смещение для проверки.
Импорт
import java.time.LocalDateTime
import java.time.ZoneOffset
import java.time.zone.ZoneRules
Синтаксис
fun isValidOffset(localDateTime: LocalDateTime, offset: ZoneOffset): Boolean
Пример
Проверим валидность смещения UTC+3 для даты и времени "2025-06-15T14:30:00"
в часовом поясе Europe/Moscow:
val zone = java.time.ZoneId.of("Europe/Moscow")
val rules = zone.rules
val dateTime = LocalDateTime.parse("2025-06-15T14:30:00")
val offset = ZoneOffset.ofHours(3)
val isValid = rules.isValidOffset(dateTime, offset)
println("Is valid offset: $isValid")
Результат выполнения кода:
String "Is valid offset: true"
Пример
Проверим невалидное смещение UTC+5 для той же даты и времени:
val zone = java.time.ZoneId.of("Europe/Moscow")
val rules = zone.rules
val dateTime = LocalDateTime.parse("2025-06-15T14:30:00")
val invalidOffset = ZoneOffset.ofHours(5)
val isValid = rules.isValidOffset(dateTime, invalidOffset)
println("Is valid offset: $isValid")
Результат выполнения кода:
String "Is valid offset: false"
Пример
Проверим валидность смещения во время перехода на летнее время:
val zone = java.time.ZoneId.of("America/New_York")
val rules = zone.rules
val dateTime = LocalDateTime.parse("2025-03-09T02:30:00")
val offset = ZoneOffset.ofHours(-4)
val isValid = rules.isValidOffset(dateTime, offset)
println("Is valid offset: $isValid")
Результат выполнения кода:
String "Is valid offset: false"
Смотрите также
-
функцию
getOffset
классаZoneRules
,
которая возвращает смещение для указанной даты и времени -
функцию
isDaylightSavings
классаZoneRules
,
которая проверяет действует ли летнее время -
класс
ZoneOffset
,
который представляет смещение часового пояса -
класс
ZonedDateTime
,
который представляет дату и время с часовым поясом