Zonas horarias en Java

Estoy permitiendo que los usuarios de mi aplicación web programen eventos según las zonas horarias de su elección.

Quiero presentar una buena lista de zonas horarias al usuario final y luego convertirla fácilmente ajava.util.TimeZone Objeto en el extremo del servidor.

String[] TimeZone.getAvailableIds() es algo que podría usar, pero el problema es que imprime alrededor de 585 identificadores de zona horaria.

¿Cuál es la mejor manera de presentar al usuario una breve lista de zonas horarias (como lo haría un cuadro de Windows para la configuración de zonas horarias) y convertir fácilmente al objeto TimeZone en el extremo del servidor usando su ID?

Respuestas a la pregunta(8)

Su respuesta a la pregunta