Java ZoneId from()方法及示例
ZoneId 类的 from() 方法用于从作为参数传递的TemporalAccessor对象中获取ZoneId的实例。该方法基于TemporalAccessor获取一个区域,TemporalAccessor代表一组任意的日期和时间信息,该方法将其转换为ZoneId的实例。
语法
public static ZoneId from(TemporalAccessor temporal)
参数: 该方法接受一个参数temporal,代表要转换的时间对象,它不能为空。
返回值: 该方法返回区域ID,它不能为空。
异常: 如果此方法无法将temporal转换为ZoneId,则抛出DateTimeException。
以下程序说明了from()方法:
程序1 :
// Java program to demonstrate
// ZoneId.from() method
import java.time.*;
public class GFG {
public static void main(String[] args)
{
// create TemporalAccessor object
ZonedDateTime zoneddatetime
= ZonedDateTime.parse("2018-10-25T23:12:31.123+02:00[Europe/Paris]");
// get ZoneId from this TemporalAccessor
ZoneId response = ZoneId.from(zoneddatetime);
// print result
System.out.println("Zone Id got from "
+ "TemporalAccessor object \n"
+ zoneddatetime + "\nis " + response);
}
}
输出。
Zone Id got from TemporalAccessor object
2018-10-25T23:12:31.123+02:00[Europe/Paris]
is Europe/Paris
程序2
// Java program to demonstrate
// ZoneId.from() method
import java.time.*;
public class GFG {
public static void main(String[] args)
{
// create TemporalAccessor object
ZonedDateTime zoneddatetime
= ZonedDateTime.now();
// get ZoneId from this TemporalAccessor
ZoneId response = ZoneId.from(zoneddatetime);
// print result
System.out.println("Zone Id got from "
+ "TemporalAccessor object \n"
+ zoneddatetime + "\nis " + response);
}
}
输出。
Zone Id got from TemporalAccessor object
2018-12-10T18:20:03.637Z[Etc/UTC]
is Etc/UTC
参考资料:
https://docs.oracle.com/javase/10/docs/api/java/time/ZoneId.html#from(java.lang.Object)。