НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
951 of 1310 menu

Класс OffsetTime

Класс OffsetTime представляет время со смещением от UTC/Greenwich в формате часы-минуты-секунды-наносекунды со смещением. Он хранит время и смещение от UTC, что позволяет точно определять момент времени без привязки к конкретной временной зоне.

Импорт

import java.time.OffsetTime import java.time.ZoneOffset

Синтаксис создания

fun of(hour: Int, minute: Int, second: Int, nanoOfSecond: Int, offset: ZoneOffset): OffsetTime
fun of(time: LocalTime, offset: ZoneOffset): OffsetTime
fun parse(text: CharSequence): OffsetTime
fun parse(text: CharSequence, formatter: DateTimeFormatter): OffsetTime
fun now(): OffsetTime

Пример

Создадим время со смещением "15:30:45+03:00":

val offsetTime = OffsetTime.of(15, 30, 45, 0, ZoneOffset.ofHours(3)) println(offsetTime)

Результат выполнения кода:

String "15:30:45+03:00"

Пример

Создадим время со смещением из объекта LocalTime:

import java.time.LocalTime val localTime = LocalTime.of(10, 15, 30) val offsetTime = OffsetTime.of(localTime, ZoneOffset.ofHours(2)) println(offsetTime)

Результат выполнения кода:

String "10:15:30+02:00"

Пример

Получим текущее время со смещением:

val currentOffsetTime = OffsetTime.now() println(currentOffsetTime)

Результат выполнения кода:

String "14:25:36.123+03:00"

Пример

Парсинг строки в формате ISO-8601:

val parsedTime = OffsetTime.parse("08:45:30+01:00") println(parsedTime)

Результат выполнения кода:

String "08:45:30+01:00"

Пример

Получим компоненты времени и смещение:

val offsetTime = OffsetTime.parse("23:15:45.123-05:00") val hour = offsetTime.hour val minute = offsetTime.minute val second = offsetTime.second val nano = offsetTime.nano val offset = offsetTime.offset println("Hour: $hour, Minute: $minute, Second: $second, Nano: $nano, Offset: $offset")

Результат выполнения кода:

String "Hour: 23, Minute: 15, Second: 45, Nano: 123000000, Offset: -05:00"

Пример

Сравним два времени со смещением:

val time1 = OffsetTime.parse("10:00:00+02:00") val time2 = OffsetTime.parse("09:00:00+01:00") val isBefore = time1.isBefore(time2) val isAfter = time1.isAfter(time2) val isEqual = time1.isEqual(time2) println("Is before: $isBefore, Is after: $isAfter, Is equal: $isEqual")

Результат выполнения кода:

String "Is before: false, Is after: true, Is equal: false"

Смотрите также

  • класс LocalTime,
    который представляет время без смещения
  • класс ZoneOffset,
    который представляет смещение от UTC
  • класс OffsetDateTime,
    который представляет дату и время со смещением
  • класс ZonedDateTime,
    который представляет дату и время с временной зоной
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить