2013-02-21 2 views
0

мне нужно преобразовать из Date(the object :insuree.getBirthDate()) в Calendar(the object : request_MDP.setBIRTH_DATE)дата в не поддается синтаксическому анализу Java -convert от Дата в календаре

, но я получаю сообщение об ошибке:

21/02/13 15:20:26 ОШИБКА [MdmInsureeService ]: Обновление ServiceProxy исключение: «Непревзойденная дата:« Пн ноя 15 15:00:00 IST 1982 »« 21/02/13 15:20:26 ОШИБКА [MdmInsureeService]: Исключение обновления ServiceProxy (toString): «java .text.ParseException: Непревзойденная дата: «Пн ноя 15 15:00:00 IST 1982«

Это мой код:

DateFormat formatter = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy"); 
Date date_MDP =(Date)formatter.parse(insuree.getBirthDate().toString()); 
Calendar cal_MDP=Calendar.getInstance(); 
cal_MDP.setTime(date_MDP); 
request_MDP.setBIRTH_DATE(cal_MDP); 

Как я могу преобразовать Date(insuree.getBirthDate()) в Calendar(setBIRTH_DATE)?

Благодаря

+4

Что не так с 'cal_MDP.setTime (insuree.getBirthDate()),' –

ответ

0

попробовать этот код:

SimpleDateFormat df = new SimpleDateFormat("KK:mm aa"); 
    Date date = df.parse("10:30 PM"); 
    System.out.print(date); 
    Calendar cal = GregorianCalendar.getInstance(); 
    cal.setTimeInMillis(date.getTime()); 
    System.out.print(cal.getTime()); 
+0

Я получаю этот журнал ошибок: 21/02/13 15:51:49 ОШИБКА [MdmInsureeService]: Исключение службы ServiceProxy: «Невозможная дата: Пн ноя 15 15:00:00 IST 1982 « 21/02/13 15:51:49 ОШИБКА [MdmInsureeService]: Исключение обновления ServiceProxy (toString):« java.text.ParseException: Непревзойденная дата: «Пн ноя 15 15 : 00: 00 IST 1982 " – user2090345

+0

можете ли вы показать полный пример? –

0

Возможно ли, что вы запустите этот код на системе с неанглийской локали? Такая локализация может не распознать будний день или месяц в вашей примерной дате («Пн 15 ноября 15:00:00 IST 1982»), потому что она использует разные имена (например, «Tue» будет «Di» на немецком языке).

Замените первую строку в сниппет с

DateFormat formatter = 
    new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy", Locale.US); 

и он будет работать с вашим пример даты. В любом случае, вы должны использовать тот же формат и язык, который использовался для генерации этих строк даты. Возможно, вы даже можете убедить генератор использовать какой-то стандартный формат, например ISO 8601.

+0

Я получаю этот журнал ошибок: 21/02/13 15:51:49 ОШИБКА [MdmInsureeService]: Исключение обновления ServiceProxy: «Невозможная дата:« Пн 15 ноября 15:00:00 IST 1982 »« 21/02/13 15: 51:49 ОШИБКА [MdmInsureeService]: исключение ServiceProxy Update (toString): 'java.text.ParseException: Непревзойденная дата: «Пн ноя 15 15:00:00 IST 1982» – user2090345

+0

Что произойдет, если вы запустите следующую инструкцию в своей среде? 'new SimpleDateFormat (« EEE MMM d HH: mm: ss zzz yyyy », Locale.US) .parse (« Пн ноя 15 15:00:00 IST 1982 »);' –

+0

Я не могу скомпилировать его, у меня есть ошибка: Тип несоответствие: не может конвертировать из Date to DateFormat – user2090345

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