ParseStrict() против parseLinient() DateTimeFormatterBuilder JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 ParseStrict() против parseLinient() DateTimeFormatterBuilder Java

Сообщение Anonymous »

Дано:

Код: Выделить всё

String validInput = "2023-12-31";

String lenientInput = "2023-12-31  "; // Extra space

DateTimeFormatter strictFormatter = new DateTimeFormatterBuilder()
.appendPattern("yyyy-MM-dd")
.parseStrict()
.toFormatter();

DateTimeFormatter lenientFormatter = new DateTimeFormatterBuilder()
.appendPattern("yyyy-MM-dd")
.parseLenient()
.toFormatter();

LocalDate strictDate = LocalDate.parse(validInput, strictFormatter);

System.out.println("Strict: " + strictDate);   //OK WORKS

LocalDate lenientDate = LocalDate.parse(lenientInput, lenientFormatter);

System.out.println("Lenient: " + lenientDate); // but Failed

Я не могу понять точную разницу между parseStrict() и parseLenient().
Я пробовал много шаблонов и обнаружил, что «снисходительный» и «строгий», по-видимому, не имеют никакого значения. Что делает parseLenient() и какой шаблон я могу использовать, чтобы LocalDate.parse("2023-12-31", WhatFormatterToUseHere) анализировал 31 декабря 2023 года?

Подробнее здесь: https://stackoverflow.com/questions/790 ... ilder-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»