Open In App

ZoneId getAvailableZoneIds() method in Java with Examples

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 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 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)


Article Tags :