Метод parse
Метод parse класса DateTimeFormatter преобразует строку в объект, реализующий интерфейс TemporalAccessor.
В первый параметр мы передаем строку для преобразования, во второй необязательный параметр можно передать функцию для дополнительной обработки результата.
Импорт
import java.time.format.DateTimeFormatter
Синтаксис
fun parse(text: CharSequence): TemporalAccessor
fun parse(text: CharSequence, provider: TemporalQuery<T>): T
Пример
Преобразуем строку "2025-12-31" в объект LocalDate с использованием стандартного форматтера:
val formatter = DateTimeFormatter.ISO_LOCAL_DATE
val temporal = formatter.parse("2025-12-31")
val date = LocalDate.from(temporal)
println(date)
Результат выполнения кода:
String "2025-12-31"
Пример
Используем кастомный форматтер для преобразования строки "31/12/2025":
val formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy")
val temporal = formatter.parse("31/12/2025")
val date = LocalDate.from(temporal)
println(date)
Результат выполнения кода:
String "2025-12-31"
Пример
Используем второй параметр для прямого преобразования в нужный тип:
val formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm")
val dateTime = formatter.parse("31/12/2025 15:30", LocalDateTime::from)
println(dateTime)
Результат выполнения кода:
String "2025-12-31T15:30"
Пример
Преобразуем строку с временем "15:30:45" в объект LocalTime:
val formatter = DateTimeFormatter.ISO_LOCAL_TIME
val time = formatter.parse("15:30:45", LocalTime::from)
println(time)
Результат выполнения кода:
String "15:30:45"