Мне нужно проанализировать дату и время как строки, имеющие два разных формата:
- 19861221235959Z
- 1986-12-21T23: 59: 59Z
Следующий шаблон dateTimeFormatter правильно анализирует строки данных первого типа
DateTimeFormatter.ofPattern ("uuuuMMddHHmmss[,S][.S]X")
, но не на втором, так как тире, двоеточий и T не ожидается.
Я пытался использовать дополнительные разделы следующим образом:
DateTimeFormatter.ofPattern ("uuuu[-]MM[-]dd['T']HH[:]mm[:]ss[,S][.S]X")
Неожиданно при синтаксическом анализе строки даты второго типа (с черточками), но не первого, выдается
java.time.format.DateTimeParseException: Text '19861221235959Z' could not be parsed at index 0
Как будто дополнительные секции не оцениваются как необязательные ...