@JonSkeet Point отметил.

от вопрос уже есть ответ здесь:

Невозможно проанализировать строку в формате ISO 8601, без двоеточия в смещении, в Java 8 Date 1 ответ

Мы пытаемся проанализировать следующую строку даты и времени ISO 8601 со смещением часового пояса:

final String input = "2022-03-17T23:00:00.000+0000";

OffsetDateTime.parse(input);
LocalDateTime.parse(input, DateTimeFormatter.ISO_OFFSET_DATE_TIME);

Оба подхода терпят неудачу (что имеет смысл какOffsetDateTime также использоватьDateTimeFormatter.ISO_OFFSET_DATE_TIME) из-за двоеточия в смещении часового пояса.

java.time.format.DateTimeParseException: текст '2022-03-17T23: 00: 00.000 + 0000' не может быть проанализирован в индексе 23

Но согласноВикипедия Есть 4 допустимых формата для смещения часового пояса:

<time>Z 
<time>±hh:mm 
<time>±hhmm 
<time>±hh

Другие фреймворки / языки могут анализировать эту строку без каких-либо проблем, например, JavascriptDate()&nbsp;или ДжексоныISO8601Utils&nbsp;(они обсуждают эту проблемуВот)

Теперь мы могли бы написать свой собственныйDateTimeFormatter&nbsp;со сложным RegEx, но на мой взгляд,java.time&nbsp;библиотека должна иметь возможность анализировать эту действительную строку ISO 8601 по умолчанию, поскольку она является допустимой.

На данный момент мы используем JacksonsISO8601DateFormat, но мы бы предпочли использовать официальныйdate.time&nbsp;библиотека для работы. Каков будет ваш подход к решению этой проблемы?