Wenn Sie eine Instanz der Klasse java.util.TimeZone
basierend auf einer benutzerdefinierten ID erstellen, die nicht erkannt wird (z. B. mit einem Tippfehler), erhalten Sie eine GMT-Zeitzone.TimeZone - wie unterscheidet man zwischen GMT-Zeitzone und nicht erkannter Zeitzone?
TimeZone timezone = TimeZone.getTimeZone("Europ/Zurich"); //'e' missing in 'Europe'
System.out.println(timezone.getID()); //result: "GMT"
Wie soll ich zwischen einer "echten" GMT-Zeitzone und einer nicht erkannten unterscheiden?
Vergleichen Sie die ID mit der ursprünglichen? – RealSkeptic
Es gibt nichts zu vergleichen. Ich erhalte die benutzerdefinierte ID von einer externen Quelle. Ich möchte sicher sein, dass es sich um eine korrekte, gültige Benutzer-ID handelt. –
Vergleichen Sie diese benutzerdefinierte ID mit dem Ergebnis von 'getID() 'aus der neu erstellten Zeitzone, anstatt sie nur zu drucken. Wenn sie nicht identisch sind, bedeutet dies, dass die benutzerdefinierte ID nicht selbst "GMT" war und daher ungültig sein muss. Wie auch immer, Sie können die ID immer mit der Liste der gültigen IDs vergleichen, bevor Sie die Zeitzone erstellen. – RealSkeptic