2013-03-26 13 views
5

Sto sviluppando un'applicazione a molla e in uno dei miei controller ho le seguenti righe da analizzare da stringa a data e formattare la data analizzata nel formato richiesto. Ma di nuovo ho bisogno di analizzare la stringa formattata in data senza utilizzare alcun SimpleDateFormat, quindi è possibile farlo?Analisi della stringa fino alla data senza utilizzare 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

ciò che è il problema con l'utilizzo di SimpleDateFormat? –

+0

Perché non puoi usare 'SimpleDateFormat'? –

+0

Evitare l'uso di SimpleDataFormat, perché non è thread-safe. – OQJF

risposta

5

Edit:

ho trovato nella wikipedia che la Cina ha il locale yyyy-MM- dd. controllare questo locale insieme di riferimento date format by country alla Cina si otterrà il formato data desiderato

Prova questa

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(); 

Questo dovrebbe funzionare


Se si conosce il formato dei dati è possibile Fai quello. utilizzando semplici operazioni sulle stringhe

Es: se il formato dei dati è

MM-gg-aaaa

allora si può convertire in yyyy-MM-dd come questo

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

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

Ma come lo si analizzerà alla data ?. 's2' nel tuo esempio è solo una stringa e non un oggetto Date. –

+0

@WannabeGeek Ci scusiamo per la risposta tardiva e anche per la risposta sbagliata. Ti risponderò in un minuto – Pragnani

+0

Apprezzo il tuo impegno, grazie per la risposta. Proverò la tua risposta e tornerò da te. –

-1

Sì possibile; basta scrivere il codice per fare l'analisi. Non dovrebbe essere così difficile ...

+2

come fare senza usare SimpleDateFormat? –

+1

proprio come come si programmano altre cose. Prendi la corda, rompila, leggi 'la stringa, crea una data. Voglio dire, se NON si usano le librerie integrate della lingua, si deve implementarle da soli. Chiunque abbia scritto SimpleDateFormat ha scritto il codice di analisi. Puoi scrivere qualcosa di simile. E una ricerca sul web dovrebbe produrre anche il tuo codice di esempio. Ma è la maggior parte delle volte un esercizio inutile .... difficile farlo bene. Qual è esattamente il problema con SimpleDateFormat? – Amit

0

È possibile utilizzare Operatore di concatenazione (+) per quel