Как DateFormat может анализировать точную дату в Java (например, DateTime.ParseExact в .NET)? - PullRequest
4 голосов
/ 06 июля 2011

Этот вопрос поднимается с помощью следующего кода:

DateFormat DF = new SimpleDateFormat("yyyyMMdd");
String dateString = "20110133";
System.out.println(DF.parse(dateString));
// Wed Feb 02 00:00:00 CET 2011

Метод parse преобразовал 33 января в 02 февраля. Есть ли способ вызвать исключение, если dateString не представляетреальная дата?

Так же, как DateTime.ParseExact в .NET.

Ответы [ 2 ]

9 голосов
/ 06 июля 2011

Попробуйте сделать это

DF.setLenient(false);

ссылка Javadoc

4 голосов
/ 06 июля 2011

Вы можете использовать метод setLenient(boolean) класса DateFormat, чтобы сказать, что он не должен быть снисходительным (т.е. принимать и затем преобразовывать) с недопустимыми датами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...