Исключение: java.text.ParseException: Неразборчивая дата: "15.02.2012" - PullRequest
0 голосов
/ 15 февраля 2012
try {
    String str_date=date;
    DateFormat formatter ; 
    Date date1 ; 
    formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:SSSS");
    date1 = (Date)formatter.parse(str_date);  
    System.out.println("Today is " +date1 );
}
catch (ParseException e)
{
    System.out.println("Exception :"+e); 
}  

Я получил исключение: java.text.ParseException: Неразборчивая дата: "15.02.2012"

любой поможет мне решить проблему

Ответы [ 5 ]

4 голосов
/ 15 февраля 2012

Вы передаете дату в этом формате 02/15/2012, поэтому вам нужно сделать это

formatter = new SimpleDateFormat("MM/dd/yyyy");

, если вы передаете дату в этом формате 02-15-2012, тогда вы должны сделать это

formatter = new SimpleDateFormat("MM-dd-yyyy"); 

выше не даст вам никакой ошибки.

3 голосов
/ 14 ноября 2012

Мне нравится больше делать это так:

String dateString = "22/11/1982";
DateFormat dF = DateFormat.getDateInstance(DateFormat.SHORT);
Date date = dF.parse(dateString);
3 голосов
/ 15 февраля 2012
formatter = new SimpleDateFormat("MM/dd/yyyy");

Это код для вас.Вы определяете неправильный «шаблон» в своем коде.Как синтаксический анализатор должен проанализировать дату 22/05/2012, если вы скажете ему: «Эй, дата, которую я дам вам, имеет шаблон гггг-ММ-дд ЧЧ: мм: СССС»?

3 голосов
/ 15 февраля 2012

римейк

formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:SSSS"); 

до

formatter = new SimpleDateFormat("MM/dd/yyyy"); 
1 голос
/ 15 февраля 2012

Неправильное форматирование, даже ответы здесь неправильные.

Ваша дата начинается с шаблона MM/dd/yyyy, поэтому измените формат на:

formatter = new SimpleDateFormat("MM/dd/yyyy");

Причина, по которой это не может быть dd/MM/yyyy, заключается в том, что у вас не может быть месяца 15 (в году только 12 месяцев).

...