2011-05-27 2 views
0

Я использую этот код для синтаксического анализа даты.Не удается разобрать SimpleDateFormat

SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy"); 
SimpleDateFormat formatterParse = new SimpleDateFormat("yyyy-MM-dd"); 
String s = formatter.format(formatterParse.parse(m.get("lastModifiedDate"))); 

м является HashMap и someModifiedDate приходит в 2010-11-26

EDIT: Я получаю InvalidTypeEception. Ява. Genereated value (java.sql.Date) несовместимо с java.lang.String

+1

Почему r u форматирует его 2 раза? – RMT

+1

@RMT: в соответствии с попыткой кода значение карты представляет собой 'String' в формате' yyyy-MM-dd', который он просто хочет преобразовать в 'String' в формате' MM/dd/yyyy'. @ Kaushik: можете ли вы, пожалуйста, уточнить проблему? Что происходит вместо этого? – BalusC

+0

Я просто попробовал. он работает. Какая ошибка? – RMT

ответ

2

Отрывок ниже работает отлично.

Map<String, String> m = new HashMap<String, String>() {{ 
    put("lastModifiedDate", "2010-11-26"); 
}}; 

SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy"); 
SimpleDateFormat formatterParse = new SimpleDateFormat("yyyy-MM-dd"); 
String s = formatter.format(formatterParse.parse(m.get("lastModifiedDate"))); 

System.out.println(s); 

Выход 11/26/2010, таким образом, либо

  1. ... Вы ожидали чего-то другого (что?), в этом случае вам нужно пересмотреть свой код или
  2. ... в вашем коде что-то не так.
+1

Я пробовал то же самое. все работает нормально. – RMT

Смежные вопросы