Simple chained selects. You can choose from two different versions. First version uses uses data attributes to decide content of child select. It does not make any external AJAX queries. Remote version makes external query and builds the child select from returned JSON response.
This script gives you the zone info key representing your device's time zone setting. The return value is an IANA zone info key (aka the Olson time zone database).