Не глядя на исходный код, я предполагаю, что 01211
анализируется до 1211 дней, которые добавляются к 2012-03-01, что приводит к 2015-06-24.Как сказал @Thilo, sdf.setLenient(false)
здесь должно помочь.
Проблема в том, что по умолчанию синтаксический анализатор более терпим к ошибочному вводу (по умолчанию включен снисходительный режим) и, таким образом, не выдает здесь исключение.