I am allowing users on my web app to schedule events based on time zones of their choice.
I want to present a good list of time zones to the end user and then conver
I did this for a company I don't own any of anymore, so can't provide code. The JVM on Windows comes with a file called tzmappings (look in C:\Program Files\Java\jre6\lib or similar) which maps Windows timezones to Java's zoneinfo-based Continent/City form.
Unfortunately, the textual names in tzmappings are terrible, so you need to do a few minutes of tabulation. Open regedit and navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones. Under this is a key for each timezone on the machine; Windows 7 has about 90. Each key has a value called Display which is the textual name you want; look for the key itself in tzmappings to find the Java time zone identifier for each one.