Extrahieren Sie die Zeitzone aus der Zeichenfolge
Posted: 05 Jan 2025, 16:58
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:
Wenn ich das neue Date() ausdrucke, erhalte ich Folgendes:
Aber wenn ich versuche, die Eingabe zu analysieren, erhalte ich die folgende Ausnahme:
Weiß jemand, wie ich die Eingabe in ein Datum mit der richtigen Zeitzone analysieren kann?
Code: Select all
20130401100000[-03:EST]
Code: Select all
yyyyMMddHHmmss'['Z':'z']'
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));
}
Code: Select all
20130528155734[+0000:GMT]
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)