Функция parse
Функция parse класса OffsetDateTime преобразует строку в формате год-месяц-деньTчасы:минуты:секунды.долисекунд±смещение в объект OffsetDateTime.
В первый параметр мы передаем строку для преобразования, во второй необязательный параметр можно передать форматтер для нестандартного формата даты-времени со смещением.
Импорт
import java.time.OffsetDateTime
Синтаксис
fun parse(text: CharSequence): OffsetDateTime
fun parse(text: CharSequence, formatter: DateTimeFormatter): OffsetDateTime
Пример
Преобразуем строку "2025-12-31T23:59:59+03:00" в объект OffsetDateTime:
val dateTimeStr = "2025-12-31T23:59:59+03:00"
val dateTime = OffsetDateTime.parse(dateTimeStr)
println(dateTime)
Результат выполнения кода:
String "2025-12-31T23:59:59+03:00"
Пример
Используем кастомный форматтер для преобразования строки "31.12.2025 23:59:59 +0300":
import java.time.format.DateTimeFormatter
val dateTimeStr = "31.12.2025 23:59:59 +0300"
val formatter = DateTimeFormatter.ofPattern("dd.MM.uuuu HH:mm:ss xx")
val dateTime = OffsetDateTime.parse(dateTimeStr, formatter)
println(dateTime)
Результат выполнения кода:
String "2025-12-31T23:59:59+03:00"
Пример
Получим отдельные компоненты даты-времени со смещением после парсинга:
val dateTimeStr = "2025-07-15T14:30:45+02:00"
val dateTime = OffsetDateTime.parse(dateTimeStr)
val year = dateTime.year
val month = dateTime.monthValue
val day = dateTime.dayOfMonth
val hour = dateTime.hour
val minute = dateTime.minute
val offset = dateTime.offset
println("Year: $year, Month: $month, Day: $day, Time: $hour:$minute, Offset: $offset")
Результат выполнения кода:
String "Year: 2025, Month: 7, Day: 15, Time: 14:30, Offset: +02:00"
Смотрите также
-
функцию
ofклассаOffsetDateTime,
которая создает дату-время со смещением из числовых компонентов -
функцию
nowклассаOffsetDateTime,
которая возвращает текущую дату-время со смещением -
функцию
ofPatternклассаDateTimeFormatter,
которая создает форматтер для парсинга дат-времени -
класс
ZonedDateTime,
который представляет дату и время с информацией о часовом поясе