SimpleDateFormat не перехватывает недействительный 13-й месяц - PullRequest
0 голосов
/ 03 июня 2011

Я пытаюсь проверить параметр запроса для даты.Если введена неверная дата, я возвращаю код ответа 400 BAD_REQUEST.Тем не менее, моя проверка не обнаруживает неверную дату «201113».Это, однако, поймать недопустимый год, такой как «000012».Я использую следующий код:

SimpleDateFormat df = new SimpleDateFormat("yyyymm"); 
    df.setLenient(false);
    try
    {
        df.parse(endDate);
        df.parse(startDate);
    }
    catch(ParseException e)
    {
        throw new WebApplicationException(Response.Status.BAD_REQUEST);
    }

Я знаю, что установка lenient в false должна была решить эту проблему, но она сохраняетсяСпасибо за ваше время.

1 Ответ

4 голосов
/ 03 июня 2011

"мм" для минут. «ММ» - на месяцы ... Попробуйте вместо «yyyyMM» в качестве строки формата.

...