У меня есть следующие инструкции:Java: getTimeZone без возврата значения по умолчанию
TimeZone zone = TimeZone.getTimeZone("Asia/Toyo");
Очевидно, что он должен вернуть нулевым, но он будет возвращать TimeZone по умолчанию, который не является желаемым поведением для моего случая. From Java Doc:
Возвращает указанные
TimeZone
или зону GMT, если данный идентификатор не может быть понят.
Есть ли способ получить соответствующее значение TimeZone и null, если строка не указывает действительный TimeZone?
Я не нашел хорошего решения, чтобы получить все TimeZones и перебрать их.
Вместо повторного использования всех доступных tzids вы можете рассмотреть результат, только если это GMT. Если это так, проверьте, соответствуют ли ваши данные «GMT» или «UTC» или «UT» или «GMT0» или тому подобное. Если да, то ok else возвращает null. –