Mir ist bewusst, dass es diesbezüglich mehrere Fragen gibt. Aber ich habe ein Problem mit einem bestimmten Datumsmuster. Hier ist ein Beispiel:
Ich habe Probleme mit -03, weil es laut der SimpleDateFormat-Dokumentation 4 Ziffern haben sollte. Das Muster, das dem am nächsten kam, war dieses:
Aber wegen der 2 Ziffern funktioniert es einfach nicht. Hier ist ein Codebeispiel, das ich für Tests verwende:
Code: Select all
public static void main(String[] args) throws ParseException {
String input = "20130401100000[-03:EST]";
DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss'['Z':'z']'");
df.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(df.format(new Date()));
System.out.println(df.parse(input));
}
Wenn ich das neue Date() ausdrucke, erhalte ich Folgendes:
Aber wenn ich versuche, die Eingabe zu analysieren, erhalte ich die folgende Ausnahme:
Code: Select all
Exception in thread "main" java.text.ParseException: Unparseable date: "20130401100000[-03:EST]"
at java.text.DateFormat.parse(DateFormat.java:337)
at Teste.main(Teste.java:17)
Weiß jemand, wie ich die Eingabe in ein Datum mit der richtigen Zeitzone analysieren kann?
Mir ist bewusst, dass es diesbezüglich mehrere Fragen gibt. Aber ich habe ein Problem mit einem bestimmten Datumsmuster. Hier ist ein Beispiel:
[code]20130401100000[-03:EST]
[/code]
Ich habe Probleme mit -03, weil es laut der SimpleDateFormat-Dokumentation 4 Ziffern haben sollte. Das Muster, das dem am nächsten kam, war dieses:
[code]yyyyMMddHHmmss'['Z':'z']'
[/code]
Aber wegen der 2 Ziffern funktioniert es einfach nicht. Hier ist ein Codebeispiel, das ich für Tests verwende:
[code]public static void main(String[] args) throws ParseException {
String input = "20130401100000[-03:EST]";
DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss'['Z':'z']'");
df.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(df.format(new Date()));
System.out.println(df.parse(input));
}
[/code]
Wenn ich das neue Date() ausdrucke, erhalte ich Folgendes:
[code]20130528155734[+0000:GMT]
[/code]
Aber wenn ich versuche, die Eingabe zu analysieren, erhalte ich die folgende Ausnahme:
[code]Exception in thread "main" java.text.ParseException: Unparseable date: "20130401100000[-03:EST]"
at java.text.DateFormat.parse(DateFormat.java:337)
at Teste.main(Teste.java:17)
[/code]
Weiß jemand, wie ich die Eingabe in ein Datum mit der richtigen Zeitzone analysieren kann?