2013-06-13 3 views
0

Моя строка даты похожа на это dd.MM.yyyy-HH.mm.ss. я делаю следующее:Java: Дата синтаксического анализа с использованием SimpleDateFormat

String s_date= "13.06.2012-12.12.12" 
Date d_date = new SimpleDateFormat("dd.MM.YYYY-HH.mm.ss", Locale.ENGLISH).parse(s_date);  

Но это бросает Unparseable date: "13.06.2012-12.12.12" исключение.

Как я могу заставить его работать для данного формата даты и времени?

+1

Это не делает для меня исключения, что меня удивляет, учитывая, что вы не предоставили никаких временных частей в своей строке формата ... –

+0

это отлично работает для меня .. никакое исключение – Vipul

ответ

2

Вы используете капитал Y
Try:.

Date d_date = new SimpleDateFormat("dd.MM.yyyy-HH.mm.ss", Locale.ENGLISH).parse(s_date); 

Reference

+0

На второй попытке .. Это сработало. Благодарю. –

2

Вы должны добавить время, а также:

new SimpleDateFormat("dd.MM.YYYY-HH.mm.ss", Locale.ENGLISH) 
+0

Это было опечатка .. теперь я отредактировал, но все же его бросаю одно и то же исключение. Я делаю это: 'Date d_date = new SimpleDateFormat (" dd.MM.YYYY-HH.mm.ss ", Locale.ENGLISH) .parse (s_date); \t ' –

1

String s_date= "13.06.2012-12.12.12" не подходит ваш шаблон dd.MM.YYYY. Вы должны удалить часть после - если вы хотите дату без часов:

s_date = s_date.substring(0, s_date.indexOf('-')); 

или изменить шаблон, как сказал Михал.

+0

Использование того, что вы предложили, исключает исключение, но объект даты d_date получает дату, которая неверна. Т.е. для любой строки даты она дает следующее:' Sun Dec 30 00:00:00 IST 2012'. –

0

сделать нравится.

String d=new SimpleDateFormat("dd.MM.yyyy").format(date); 
System.out.println(d); 
+0

Я не хочу просто распечатать его, а изменить его на тип даты. Итак, эта ошибка возникает, когда я делаю то, что вы предложили. Тип несоответствия: невозможно преобразовать из String в Date. –

+0

босс, как вы хотите, чтобы кормление ложкой. :) –

+0

Нет, у вас просто не было вопроса .. формат дает строку от объекта даты, а не наоборот. :) Я сталкивался с проблемой при попытке чего-то, ее не называли ложкой кормления. :) –

0

Строка s_date = "" 13.06.2012-12.12.12" ;

это неправильно

использование Строка s_date = "13.06.2012-12.12.12";

+0

Это была опечатка .. Отредактировано. Благодарю. –