Hallo.
Ich habe folgendes Problem:
In einer Datei stehen Datensätze mit Datum, dieses Datum muss ich parsen. Ein Beispiel für ein Datum:
Parsen will ich das ganze mit SimpleDateFormat
[HIGHLIGHT="Java"]SimpleDateFormat date = new SimpleDateFormat("DD/MMM/yyyy:HH:mm:ss Z");[/HIGHLIGHT]
Jetzt tritt mein Problem auf:
Lasse ich setLenitent auf true, wird der Monatsteil immer zu Jan geparst, egal was ich für eine Eingabe parsen lasse. Alle anderen Teile des Datums werden richtig geparst.
Setze ich setLenitent auf false, wird bei jedem Monat außer "Jan" eine ParseException geworfen (Feb, Jul, Aug, Sep, etc).
Ich hab schon verschiedene Locale getestet allerdings tritt der Fehler unabhängig davon auf.
Ein Codeschnippsel:
[HIGHLIGHT="Java"]
date.setLenient(false);
String d1 = "10/Jan/2008:06:26:03 +0200";
String d2 = "10/Aug/2008:06:26:03 +0200";
System.out.println(date.parse(d1));
System.out.println(date.parse(d2));
[/HIGHLIGHT]
Zeile 4 wird zu
Zeile 5 wirft eine ParseException:
Hat jemand eine Idee an was es liegen könnte?
Ich habe folgendes Problem:
In einer Datei stehen Datensätze mit Datum, dieses Datum muss ich parsen. Ein Beispiel für ein Datum:
Code:
10/Aug/2008:06:26:03 +0200
Parsen will ich das ganze mit SimpleDateFormat
[HIGHLIGHT="Java"]SimpleDateFormat date = new SimpleDateFormat("DD/MMM/yyyy:HH:mm:ss Z");[/HIGHLIGHT]
Jetzt tritt mein Problem auf:
Lasse ich setLenitent auf true, wird der Monatsteil immer zu Jan geparst, egal was ich für eine Eingabe parsen lasse. Alle anderen Teile des Datums werden richtig geparst.
Setze ich setLenitent auf false, wird bei jedem Monat außer "Jan" eine ParseException geworfen (Feb, Jul, Aug, Sep, etc).
Ich hab schon verschiedene Locale getestet allerdings tritt der Fehler unabhängig davon auf.
Ein Codeschnippsel:
[HIGHLIGHT="Java"]
date.setLenient(false);
String d1 = "10/Jan/2008:06:26:03 +0200";
String d2 = "10/Aug/2008:06:26:03 +0200";
System.out.println(date.parse(d1));
System.out.println(date.parse(d2));
[/HIGHLIGHT]
Zeile 4 wird zu
Code:
Thu Jan 10 05:26:03 CET 2008
Code:
Exception in thread "main" java.text.ParseException: Unparseable date: "10/Aug/2008:06:26:03 +0200"
at java.text.DateFormat.parse(DateFormat.java:337)
at logreader.LogReader.main(LogReader.java:57)
Zuletzt bearbeitet: