Java中的 ZoneId getAvailableZoneIds() 方法及示例
ZoneId类的getAvailableZoneIds()方法用于获取可用区域ID 的集合。该集合包括所有可用的基于区域的ID。可以将ID 传递给of(String) 以创建ZoneId。区域ID 的集合可以随着时间的推移而增加,尽管在典型的应用程序中,ID 集是固定的。
句法:
public static Set getAvailableZoneIds()
参数:此方法不接受任何参数。
返回值:此方法返回Set ,它是区域 ID 集的可修改副本。
下面的程序说明了 getAvailableZoneIds() 方法:
方案一:
// 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 zoneIds = ZoneId.getAvailableZoneIds();
// print first record
System.out.println("First ZoneId in list:" + zoneIds.iterator().next());
}
}
输出:
First ZoneId in list:Asia/Aden
方案二:
// 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 allZones = ZoneId.getAvailableZoneIds();
// create ArrayList from Set
List zoneList = new ArrayList(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);
}
}
}
输出:
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
参考:
https://docs.oracle.com/javase/10/docs/api/java Java Java)