Extrahieren Sie die Zeitzone aus der ZeichenfolgeJava

Java-Forum
Guest
 Extrahieren Sie die Zeitzone aus der Zeichenfolge

Post by Guest »

Mir ist bewusst, dass es diesbezüglich mehrere Fragen gibt. Aber ich habe ein Problem mit einem bestimmten Datumsmuster. Hier ist ein Beispiel:

Code: Select all

20130401100000[-03:EST]
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: Select all

yyyyMMddHHmmss'['Z':'z']'
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:

Code: Select all

20130528155734[+0000:GMT]
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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post