Java Tutorials
ZoneId represents time-zone id , such as Asia/Kolkata, Europe/Paris,America/New_York , etc., Each country has time-zone, some countries have multiple time-zones and these time-zones are adjusted based on DayLightSaving settings.
Get system's time-zone.
ZoneId zid = ZoneId.systemDefault(); System.out.println(zid) Asia/Kolkata
gets all available time-zones as Set object. User can pick one from these list of time-zones
Set<String> zids = ZoneId.getAvailableIds(); [Asia/Aden, America/Cuiaba, Etc/GMT+9, Etc/GMT+8, Africa/Nairobi, America/Marigot, Asia/Aqtau, Pacific/Kwajalein, America/El_Salvador, Asia/Pontianak, Africa/Cairo, Pacific/Pago_Pago, Africa/Mbabane, Asia/Kuching, Pacific/Honolulu, Pacific/Rarotonga, America/Guatemala, Australia/Hobart, Europe/London, America/Belize, America/Panama, /Chungking, America/Managua, America/Indiana/Petersburg, Asia/Yerevan, Europe/Brussels, GMT, Europe/Warsaw, America/Chicago, Asia/Kashgar, Chile/Continental, Pacific/Yap, CET, Etc/GMT-1, Etc/GMT-0, Europe/Jersey, America/Tegucigalpa, Etc/GMT-5, Europe/Istanbul, America/Eirunepe, Etc/GMT-4, America/Miquelon, Etc/GMT-3, Eur ... Asia/Irkutsk, America/Shiprock, America/Winnipeg, Europe/Vatican, Asia/Amman, Etc/UTC, SystemV/AST4ADT, Asia/Tokyo, America/Toronto, Asia/Singapore, Australia/Lindeman, America/Los_Angeles, SystemV/EST5EDT, Pacific/Majuro, America/Argentina/Buenos_Aires, Europe/Nicosia, Pacific/Guadalcanal, Europe/Athens, US/Pacific, Europe/Monaco]
use static method getAvailableZoneIds method, split each time-zone id using forward slash, check for region, display only those region specific time-zone ids.
Set<String> zids = ZoneId.getAvailabelIds(); for (String zid : zids) { String []t = zid.split("/"); if(t[0].compareTo("Asia")==0) System.out.println(zid); } //Output Asia/Tokyo Asia/Singapore .....
ADS