I have a string, I need to check whether it is a standard time zone identifier or not. I am not sure which method I need to use.
String timeZoneToCheck = \"UTC\"
Since TimeZone#getTimeZone(String id)
returns a default if the value is invalid (rather than returning an invalid time zone), if the reinterpreted value does not match the initial value, it wasn't valid.
private static boolean isValidTimeZone(@Nonnull String potentialTimeZone)
{
// If the input matches the re-interpreted value, then the time zone is valid.
return TimeZone.getTimeZone(potentialTimeZone).getID().equals(potentialTimeZone);
}