2013-03-26 28 views
5

Pracuję nad aplikacją wiosenną iw jednym z kontrolerów mam następujące linie do przeanalizowania od ciągu do daty i sformatowania przeanalizowanej daty do wymaganego formatu. Ale znowu muszę przetworzyć z powrotem sformatowany ciąg na datę bez użycia żadnego SimpleDateFormat, więc czy jest to możliwe?Parsowanie ciągu do daty bez użycia SimpleDateFormat?

SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy"); 
SimpleDateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd"); 

Date pick=dateFormat.parse(request.getParameter("pickDate")); 
String pick_date=dateFormat2.format(pick); 
+0

co jest problem z korzystaniem z SimpleDateFormat? –

+0

Dlaczego nie można użyć 'SimpleDateFormat'? –

+0

Należy unikać SimpleDataFormat, ponieważ nie jest to wątek bezpieczne. – OQJF

Odpowiedz

5

EDIT:

znalazłem w wikipedii, że Chiny mają lokalizacji yyyy-MM dd. sprawdzić to odniesienie date format by country set locale do Chin dostaniesz datę żądany format

Spróbuj

String d1="12-27-2010"; 
    Stirng[] splitdata=d1.split("-"); 

    int month=Integer.parseInt(splitdata[0]); 
int day=Integer.parseInt(splitdata[1]); 
int year=Integer.parseInt(splitdata[2]); 

Calender cal=Calender.getInstance(Locale.CHINA); 
cal.set(year,month,day); 
Date d=cal.getTime(); 

To powinno działać


Jeśli znasz format danych co możliwe Zrób to. za pomocą prostych operacji ciągów

Ex: jeśli format danych jest

MM-dd-rrrr

potem można przekonwertować do yyyy-MM-dd jak ten

String d1="12-27-2010"; 
Stirng[] splitdata=d1.split("-"); 

String s2= splitdate[2]+"-"+splitdate[0]+"-"+splitdate[1]; 
+0

Ale jak sparować to z powrotem do daty ?. "s2" w twoim przykładzie to tylko ciąg, a nie obiekt Date. –

+0

@WannabeGeek Przepraszamy za spóźnioną odpowiedź, a także złą odpowiedź. Wrócę do Ciebie za minutę – Pragnani

+0

Doceniam twój wysiłek, dziękuję za odpowiedź. Spróbuję twojej odpowiedzi i wrócę do ciebie. –

-1

Tak, możliwe; po prostu napisz kod, aby wykonać parsowanie. nie powinno być takie trudne ...

+2

jak to zrobić bez użycia SimpleDateFormat? –

+1

Tak jak programujesz inne rzeczy. Podnieś ciąg, podziel go, przeczytaj ciąg, ustal datę. Chodzi mi o to, że jeśli NIE korzystasz z wbudowanych bibliotek języka, musisz go sam wdrożyć. Ktokolwiek napisał SimpleDateFormat, napisał kod parsujący. Możesz napisać coś podobnego. Wyszukiwanie w Internecie powinno również dać ci przykładowy kod. Ale jest to najczęściej bezowocne ćwiczenie ... trudne do poprawienia. Czym dokładnie jest problem z SimpleDateFormat? – Amit

0

Można używać konkatenacji operator (+) dla tej

Powiązane problemy