ZoneId getAvailableZoneIds() method in Java with Examples

Last Updated : 19 Aug, 2019
The getAvailableZoneIds() method of the ZoneId class used to get the set of available zone IDs.This set includes all available region-based IDs.The ID can be passed to of(String) to create a ZoneId.The set of zone IDs can increase over time, although in a typical application the set of IDs is fixed. Syntax:
public static Set getAvailableZoneIds()
Parameters: This method does not accepts any parameter. Return value: This method returns Set which are a modifiable copy of the set of zone IDs. Below programs illustrate the getAvailableZoneIds() method: Program 1: Java
// Java program to demonstrate
// ZoneId.getAvailableZoneIds() method

import java.time.*;
import java.util.Set;

public class GFG {
    public static void main(String[] args)
    {

        // get available zones using zoneIds()
        Set<String> zoneIds = ZoneId.getAvailableZoneIds();

        // print first record
        System.out.println("First ZoneId in list:" + zoneIds.iterator().next());
    }
}
Output:
First ZoneId in list:Asia/Aden
Program 2: Java
// Java program to demonstrate
// ZoneId.getAvailableZoneIds() method

import java.time.*;
import java.util.*;

public class GFG {
    public static void main(String[] args)
    {

        // get available zones using zoneIds()
        Set<String> allZones = ZoneId.getAvailableZoneIds();

        // create ArrayList from Set
        List<String> zoneList = new ArrayList<String>(allZones);
        Collections.sort(zoneList);

        // printing first 5 zoneid with offset
        LocalDateTime dt = LocalDateTime.now();
        for (int i = 0; i < 5; i++) {

            // get zoneid then ZonedDateTime and offset
            // from that ZoneId
            String s = zoneList.get(i);
            ZoneId zoneid = ZoneId.of(s);
            ZonedDateTime zoneddate = dt.atZone(zoneid);
            ZoneOffset offset = zoneddate.getOffset();
            System.out.println("ZoneId = " + zoneid + " offset = " + offset);
        }
    }
}
Output:
ZoneId = Africa/Abidjan offset = Z
ZoneId = Africa/Accra offset = Z
ZoneId = Africa/Addis_Ababa offset = +03:00
ZoneId = Africa/Algiers offset = +01:00
ZoneId = Africa/Asmara offset = +03:00
References: https://docs.oracle.com/javase/10/docs/api/java/time/ZoneId.html#getAvailableZoneIds(java.lang.Object)
Comment