Мне кажется, что решение очень простое, но я сейчас смотрю на него в течение 10 минут и не могу найти никаких ошибок в своем коде. Серьезно.
Принимая во внимание, что eventDateStart
является целым числом. Целое число обычно принимает 8 символов для преобразования строки в int
, и я не понимаю, почему Java не может его преобразовать. Я как ... тьфу ??
Код создает NumberFormatException:
String rruleMonthday = "-1";
//where ar rrule is sth like --> RRULE:FREQ=MONTHLY;BYMONTHDAY=29
int firstMonthday = (rrule.indexOf("BYMONTHDAY=") + 11);
try {
rruleMonthday = rrule.substring(firstMonthday, rrule.indexOf(";", firstMonthday));
} catch (Exception ex) {
rruleMonthday = rrule.substring(firstMonthday, rrule.indexOf("\n", firstMonthday));
}
eventDateStart = eventDateStart.substring(0, 6) + rruleMonthday;
System.out.println("eventDateStart: ." + eventDateStart + ".");
System.out.println("2: " + Integer.parseInt(eventDateStart)); //this Integer.parseInt conversion is printing numberformatexception
вывод:
eventDateStart: .20200329.
java.lang.NumberFormatException: For input string: "20200329"