Класс ZoneOffset
Класс ZoneOffset представляет фиксированное смещение временной зоны от UTC/Greenwich в формате +HH:MM или -HH:MM.
Это неизменяемый класс, который хранит смещение в секундах и предоставляет методы для создания и работы со смещениями временных зон.
Импорт
import java.time.ZoneOffset
Синтаксис
// Создание смещения через фабричные методы
fun of(offsetId: String): ZoneOffset
fun ofHours(hours: Int): ZoneOffset
fun ofHoursMinutes(hours: Int, minutes: Int): ZoneOffset
fun ofHoursMinutesSeconds(hours: Int, minutes: Int, seconds: Int): ZoneOffset
fun ofTotalSeconds(totalSeconds: Int): ZoneOffset
// Получение констант
val UTC: ZoneOffset
val MIN: ZoneOffset
val MAX: ZoneOffset
// Получение информации о смещении
fun getTotalSeconds(): Int
fun getId(): String
Пример
Создадим смещение для UTC+3:
val offset = ZoneOffset.ofHours(3)
println(offset)
Результат выполнения кода:
String "+03:00"
Пример
Создадим смещение с помощью строки:
val offset1 = ZoneOffset.of("+05:00")
val offset2 = ZoneOffset.of("-02:30")
println("Offset 1: $offset1")
println("Offset 2: $offset2")
Результат выполнения кода:
String "Offset 1: +05:00"
String "Offset 2: -02:30"
Пример
Создадим смещение с точностью до минут и секунд:
val offset1 = ZoneOffset.ofHoursMinutes(2, 30)
val offset2 = ZoneOffset.ofHoursMinutesSeconds(5, 45, 15)
println("Offset 1: $offset1")
println("Offset 2: $offset2")
Результат выполнения кода:
String "Offset 1: +02:30"
String "Offset 2: +05:45:15"
Пример
Получим информацию о смещении:
val offset = ZoneOffset.of("+03:45")
val totalSeconds = offset.getTotalSeconds()
val id = offset.getId()
println("Total seconds: $totalSeconds")
println("ID: $id")
Результат выполнения кода:
String "Total seconds: 13500"
String "ID: +03:45"
Пример
Используем константы класса:
println("UTC: ${ZoneOffset.UTC}")
println("MIN: ${ZoneOffset.MIN}")
println("MAX: ${ZoneOffset.MAX}")
Результат выполнения кода:
String "UTC: Z"
String "MIN: -18:00"
String "MAX: +18:00"
Смотрите также
-
класс
ZoneId,
который представляет идентификатор временной зоны -
класс
ZonedDateTime,
который представляет дату и время с временной зоной -
класс
OffsetDateTime,
который представляет дату и время со смещением -
класс
OffsetTime,
который представляет время со смещением