Ошибка String index out of range
Все работает когда я передаю строку формата 25 янв. - 25 февр., то есть без года. Когда передаю строку уже с годом (25 янв. 2020 г. - 25 февр. 2021 г.), то получаю ошибку
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -12. Подскажите, что я делаю не так.
//Получение даты начала
public Date getFirst() throws ParseException {
String firstDate;
//Для даты без года
if (headerText.length() <= 19)
firstDate = new String(headerText.substring(0, headerText.indexOf(".")) + " " + getCurrentYear());
//Для даты с годом
else
firstDate = new String(headerText.substring(0, headerText.indexOf(".")) +
headerText.substring(headerText.indexOf(".") + 1, headerText.indexOf("-") - 4));
SimpleDateFormat formatter = new SimpleDateFormat("dd MMM yyyy");
return formatter.parse(firstDate);
}
Ответы (1 шт):
Автор решения: Мужчина из Орла
→ Ссылка
Ошибка была очень смешная, на вход подавалась дата не с символом "-", а с "–". Не знал, что бывают разные тире.