Метод parseCaseInsensitive
Метод parseCaseInsensitive класса DateTimeFormatterBuilder включает режим парсинга без учета регистра символов для создаваемого форматтера.
Это позволяет парсить строковые представления дат и времени, игнорируя различия в верхнем и нижнем регистре.
Импорт
import java.time.format.DateTimeFormatterBuilder
Синтаксис
fun parseCaseInsensitive(): DateTimeFormatterBuilder
Пример
Создадим форматтер для парсинга месяцев без учета регистра:
val builder = DateTimeFormatterBuilder()
builder.parseCaseInsensitive()
builder.appendPattern("MMM yyyy")
val formatter = builder.toFormatter()
val dateStr = "jAn 2025"
val date = java.time.YearMonth.parse(dateStr, formatter)
println(date)
Результат выполнения кода:
String "2025-01"
Пример
Парсинг названий дней недели в разных регистрах:
val builder = DateTimeFormatterBuilder()
builder.parseCaseInsensitive()
builder.appendPattern("EEE, dd MMM yyyy")
val formatter = builder.toFormatter()
val dateStr = "mOn, 15 Jul 2025"
val date = java.time.LocalDate.parse(dateStr, formatter)
println(date)
Результат выполнения кода:
String "2025-07-15"
Пример
Сравнение парсинга с учетом и без учета регистра:
val caseSensitiveFormatter = DateTimeFormatterBuilder()
.appendPattern("MMM yyyy")
.toFormatter()
val caseInsensitiveFormatter = DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendPattern("MMM yyyy")
.toFormatter()
val dateStr = "JAN 2025"
try {
val date1 = java.time.YearMonth.parse(dateStr.toLowerCase(), caseSensitiveFormatter)
println("Case sensitive: $date1")
} catch (e: Exception) {
println("Case sensitive failed: ${e.message}")
}
val date2 = java.time.YearMonth.parse(dateStr, caseInsensitiveFormatter)
println("Case insensitive: $date2")
Результат выполнения кода:
String "Case sensitive failed: Text 'jan 2025' could not be parsed at index 0"
String "Case insensitive: 2025-01"
Смотрите также
-
метод
parseCaseSensitiveклассаDateTimeFormatterBuilder,
который включает режим парсинга с учетом регистра -
метод
appendPatternклассаDateTimeFormatterBuilder,
который добавляет шаблон для форматирования -
метод
toFormatterклассаDateTimeFormatterBuilder,
который создает форматтер из билдера -
класс
DateTimeFormatter,
который используется для форматирования и парсинга дат