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

Метод parseStrict

Метод parseStrict класса DateTimeFormatterBuilder переключает парсер в строгий режим, при котором входная строка должна точно соответствовать указанному формату. В отличие от режима по умолчанию, строгий парсинг не допускает неявных значений и требует полного соответствия всех компонентов даты и времени.

Импорт

import java.time.format.DateTimeFormatterBuilder

Синтаксис

fun parseStrict(): DateTimeFormatterBuilder

Пример

Создадим форматтер со строгим парсингом для даты в формате день/месяц/год:

val formatter = DateTimeFormatterBuilder() .appendPattern("dd/MM/yyyy") .parseStrict() .toFormatter() val dateStr = "31/12/2025" val date = java.time.LocalDate.parse(dateStr, formatter) println(date)

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

String "2025-12-31"

Пример

Попробуем распарсить неполную дату в строгом режиме:

val formatter = DateTimeFormatterBuilder() .appendPattern("dd/MM/yyyy") .parseStrict() .toFormatter() val dateStr = "31/12/25" try { val date = java.time.LocalDate.parse(dateStr, formatter) println(date) } catch (e: Exception) { println("Error: " + e.message) }

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

String "Error: Text '31/12/25' could not be parsed at index 6"

Пример

Сравнение строгого и нестрогого парсинга:

val strictFormatter = DateTimeFormatterBuilder() .appendPattern("dd/MM/yyyy") .parseStrict() .toFormatter() val lenientFormatter = DateTimeFormatterBuilder() .appendPattern("dd/MM/yyyy") .parseLenient() .toFormatter() val dateStr = "31/12/25" try { val strictDate = java.time.LocalDate.parse(dateStr, strictFormatter) println("Strict: " + strictDate) } catch (e: Exception) { println("Strict error: " + e.message) } try { val lenientDate = java.time.LocalDate.parse(dateStr, lenientFormatter) println("Lenient: " + lenientDate) } catch (e: Exception) { println("Lenient error: " + e.message) }

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

String "Strict error: Text '31/12/25' could not be parsed at index 6" String "Lenient: 0025-12-31"

Пример

Строгий парсинг даты и времени:

val formatter = DateTimeFormatterBuilder() .appendPattern("dd.MM.yyyy HH:mm:ss") .parseStrict() .toFormatter() val dateTimeStr = "15.07.2025 14:30:00" val dateTime = java.time.LocalDateTime.parse(dateTimeStr, formatter) println(dateTime)

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

String "2025-07-15T14:30:00"

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

  • метод parseLenient класса DateTimeFormatterBuilder,
    который устанавливает нестрогий режим парсинга
  • метод appendPattern класса DateTimeFormatterBuilder,
    который добавляет шаблон форматирования
  • метод toFormatter класса DateTimeFormatterBuilder,
    который создает объект DateTimeFormatter
  • класс DateTimeFormatter,
    который предоставляет методы для форматирования и парсинга дат
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить