2014-10-20 5 views
-1

У меня есть дата типа строки. Я хочу сначала изменить его на дату. Но это не правильно форматирование даты, как я want.Here мой кодОшибка преобразования даты в java datatype

String a="12/11/2010"; 

     Date d=new Date(); 
     SimpleDateFormat as=new SimpleDateFormat("dd/MM/yy"); 
     d=as.parse(a); 
    System.out.println(a); 

Выход как этот :Sun Jan 01 00:00:00 IST 2012

Но я хочу, чтобы результат, как этот 12-10-2014 в Date типа данных, а не в типе данных String.

+0

возможно дубликат [Что такое часовой пояс по умолчанию в java.util.Date] (http://stackoverflow.com/questions/11337557/что-это-The-умолчанию-часовой пояс-в-Java-Util-дата) –

ответ

1
System.out.println(as.format(d)); 

Вы должны использовать свой объект dateformatter для форматирования даты d.

Если вы хотите проанализировать его как 12/11/2010 и вывести как 12-11-2010, у вас может быть 2 разных формата даты, один для синтаксического анализа и один для вывода. Ex.

String a="12/11/2010"; 

    Date d=new Date(); 
    SimpleDateFormat as=new SimpleDateFormat("dd/MM/yyyy"); 
    SimpleDateFormat as1=new SimpleDateFormat("dd-MM-yyyy"); 
    d = as.parse(a); 
    System.out.println(as1.format(d)); 
0

Date это мгновение времени, и хотя у него есть toString(), который не подлежит замене. Вместо этого вы используете DateFormat (как тот, который вы должны) format выходного

String a="12/11/2010"; 
SimpleDateFormat as=new SimpleDateFormat("dd/MM/yy"); 
Date d=as.parse(a); 
System.out.println(as.format(d)); 
Смежные вопросы