2012-11-23 18 views
6

Ja, eine andere Java Date Post :)Fehler String to Date in Java Parsen

Mein Problem:

einfache Code-Standard für den Test verwendet, wenn ein eingesetztes Datum in der gewünschten Form (TT/MM/jjjj):

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); 
try { 

    sdf.parse(strDate); 

} catch(ParseException e) { 

    // err 

} 

strDate = "10-12-2012" ----> SYSOUT = err (ok)

strDate = "2012.11.10" ----> sysout = err (ok)

strDate = "15.10.2011" ----> SYSOUT = Parse (ok)

das Problem:

strDate = "2012.12.15" ----> SYSOUT = dieses Datum, dass ich einen Fehler Ergebnis wie „Di 3. Juni 00.00.00 CET 21“

Wer weiß, analysiert erwarten ???

+2

Können Sie erklären, was das Problem ist? Ich verstehe die Frage nicht ganz. Ist das Parsen nicht möglich? –

+7

http://www.accordess.com/wpblog/techtip-use-of-setlenient-method-on-simpledateformat/ –

+0

@TheCat .. Es ist die Zeichenfolge richtig analysieren, die nicht analysiert werden sollte. –

Antwort

8

nur setLenient bis falsch.

VON API:

setLenient method:

angeben, ob oder nicht Datum/Zeit-Analyse ist nachsichtig zu sein. Mit nachsichtigem Parsen kann der Parser Heuristiken verwenden, um Eingaben zu interpretieren, die nicht genau mit dem Format dieses Objekts übereinstimmen. Bei striktem Parsen müssen Eingaben dem Format dieses Objekts entsprechen.

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); 
try { 
    sdf.setLenient(false); 
    System.out.println(sdf.parse("2012/12/15")); 
} catch(ParseException e) { 
    e.printStackTrace(); 
} 
+0

Toll, viele Tnx zum Clearing von Ideen, es ist in meinem Evernote jetzt :) –