DateUtils.parseDate исключение

Я не могу заставить это работать, это говорит Неизвестный образец символа - "T"

Невозможно разобрать дату 2011-07-22T12:01:34.9455820

Date theDate = DateUtils.parseDate(notif.dateStr, new String[]{"yyyy-MM-ddTHH:mm:ss.S"});

Это тоже не сработает (это то, что я делал в первую очередь, и в этом случае он просто дал исключение разбора):

Date theDate = DateUtils.parseDate(notif.dateStr);

Где моя ошибка?

2 ответа

Пытаться yyyy-MM-dd'T'HH:mm:ss.S как шаблон формата. Пример:-

public static void main(String[] args) {
        String date = "2011-07-22T12:01:34.9455820";
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S");
        try {
            Date dt = format.parse(date);
            System.out.println(dt.toString()); //prints Fri Jul 22 14:39:09 CDT 2011
        } catch (ParseException e) {
            e.printStackTrace();
        }

    }

Ваша ошибка в том, что вы не предоставляете шаблон, соответствующий формату.

DateUtils JavaDoc api-3.3.2

parseDate

public static Date parseDate(String str,
                             String[] parsePatterns)
                      throws ParseException

Parses a string representing a date by trying a variety of different parsers.

The parse will try each parse pattern in turn. A parse is only deemed sucessful
if it parses the whole of the input string. If no parse patterns match, 
a ParseException is thrown.
Другие вопросы по тегам