Я не понимаю, что не так с кодом ниже:

SimpleDateFormat formatter = new SimpleDateFormat("MM.dd.yy hh:mm:ss");
formatter.setLenient(false);
formatter.parse("04.29.2017 00:55:05");

Когда я пытаюсь разобрать строку с датой, у меня есть java.text.ParseException. Что не так с моим кодом?

-2
Barmaglot1990 28 Май 2017 в 14:49

2 ответа

Лучший ответ

Hh ожидает диапазон от 1 до 12. Измените его на HH (от 0 до 23), если вы хотите, чтобы он работал с отключенной снисходительностью.

2
Nathan Hughes 28 Май 2017 в 11:53

Вам необходимо использовать формат yyyy (так как 2017 год - yyyy).

Я также удалил formatter.setLenient(false);, так как это не требуется.

Нравится:

public class DateParse {
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat formatter = new SimpleDateFormat("MM.dd.yyyy hh:mm:ss");
        Date myDate = formatter.parse("04.29.2017 00:55:05");

        System.out.println(myDate);
    }
}

Выход:

Сб 29 апреля 00:55:05 BST 2017

1
chocksaway 29 Май 2017 в 00:29