Функция of
Функция of класса OffsetDateTime создает объект даты-времени со смещением из отдельных числовых компонентов.
В параметры мы передаем год, месяц, день, час, минуту, секунду, наносекунды и объект ZoneOffset, представляющий смещение от UTC.
Импорт
import java.time.OffsetDateTime
import java.time.ZoneOffset
Синтаксис
fun of(year: Int, month: Int, day: Int, hour: Int, minute: Int, second: Int, nanoOfSecond: Int, offset: ZoneOffset): OffsetDateTime
fun of(year: Int, month: Int, day: Int, hour: Int, minute: Int, second: Int, offset: ZoneOffset): OffsetDateTime
fun of(year: Int, month: Int, day: Int, hour: Int, minute: Int, offset: ZoneOffset): OffsetDateTime
fun of(date: LocalDate, time: LocalTime, offset: ZoneOffset): OffsetDateTime
Пример
Создадим объект OffsetDateTime для даты "2025-07-15", времени "14:30:45" и смещения "+03:00":
val offsetDateTime = OffsetDateTime.of(2025, 7, 15, 14, 30, 45, 0, ZoneOffset.ofHours(3))
println(offsetDateTime)
Результат выполнения кода:
String "2025-07-15T14:30:45+03:00"
Пример
Создадим OffsetDateTime без наносекунд:
val offsetDateTime = OffsetDateTime.of(2025, 12, 31, 23, 59, 30, ZoneOffset.ofHours(2))
println(offsetDateTime)
Результат выполнения кода:
String "2025-12-31T23:59:30+02:00"
Пример
Создадим OffsetDateTime только с часами и минутами:
val offsetDateTime = OffsetDateTime.of(2025, 3, 20, 9, 15, ZoneOffset.ofHoursMinutes(5, 30))
println(offsetDateTime)
Результат выполнения кода:
String "2025-03-20T09:15+05:30"
Пример
Создадим OffsetDateTime из объектов LocalDate и LocalTime:
import java.time.LocalDate
import java.time.LocalTime
val date = LocalDate.of(2025, 5, 10)
val time = LocalTime.of(18, 45, 20)
val offset = ZoneOffset.ofHours(-4)
val offsetDateTime = OffsetDateTime.of(date, time, offset)
println(offsetDateTime)
Результат выполнения кода:
String "2025-05-10T18:45:20-04:00"
Пример
Получим отдельные компоненты даты-времени со смещением:
val offsetDateTime = OffsetDateTime.of(2025, 11, 5, 10, 30, 15, 500, ZoneOffset.ofHours(1))
val year = offsetDateTime.year
val month = offsetDateTime.monthValue
val day = offsetDateTime.dayOfMonth
val hour = offsetDateTime.hour
val minute = offsetDateTime.minute
val second = offsetDateTime.second
val offset = offsetDateTime.offset
println("Year: $year, Month: $month, Day: $day")
println("Time: $hour:$minute:$second")
println("Offset: $offset")
Результат выполнения кода:
String "Year: 2025, Month: 11, Day: 5"
String "Time: 10:30:15"
String "Offset: +01:00"
Смотрите также
-
функцию
nowклассаOffsetDateTime,
которая возвращает текущую дату-время со смещением -
функцию
parseклассаOffsetDateTime,
которая преобразует строку в OffsetDateTime -
класс
ZoneOffset,
который представляет смещение от UTC -
класс
LocalDateTime,
который представляет дату и время без смещения