Java ChronoLocalDateTime atZone()方法及示例
ChronoLocalDateTime接口的 atZone(ZoneId zone) 方法用于将这个ChronoLocalDateTime与一个ZoneId作为参数的时区结合起来,以创建一个ZonedDateTime对象。该方法以ZoneId为参数,将时区与该ChronoLocalDateTime结合起来,操作后返回一个ChronoZonedDateTime对象。
语法
ChronoZonedDateTime<D> atZone(ZoneId zone)
参数: 该方法接受一个参数 zone ,它是要结合到这个ChronoLocalDateTime对象的区域。它不应该是空的。
返回值: 该方法返回一个ChronoZonedDateTime,它是ChronoLocalDateTime的当前区域和作为参数的区域的组合。
以下程序说明了ChronoLocalDateTime.atZone()方法。
程序1 :
// Java program to demonstrate
// ChronoLocalDateTime.atZone() method
import java.time.*;
import java.time.chrono.*;
public class GFG {
public static void main(String[] args)
{
// create an ChronoLocalDateTime object
ChronoLocalDateTime date
= LocalDateTime.parse("2018-12-06T19:21:12");
// print ChronoLocalDateTime Value
System.out.println("ChronoLocalDateTime: "
+ date);
// create ZoneId object
ZoneId zone = ZoneId.of("Europe/Paris");
// apply atZone method of ChronoLocalDateTime class
ChronoZonedDateTime result = date.atZone(zone);
// print results
System.out.println("ChronoZonedDateTime: "
+ result);
}
}
输出:
ChronoLocalDateTime: 2018-12-06T19:21:12
ChronoZonedDateTime: 2018-12-06T19:21:12+01:00[Europe/Paris]
程序2
// Java program to demonstrate
// ChronoLocalDateTime.atZone() method
import java.time.*;
import java.time.chrono.*;
public class GFG {
public static void main(String[] args)
{
// create an ChronoLocalDateTime object
ChronoLocalDateTime date
= LocalDateTime.parse("2018-12-06T19:21:12");
// print ChronoLocalDateTime Value
System.out.println("ChronoLocalDateTime: "
+ date);
// create ZoneId object
ZoneId zone = ZoneId.of("Asia/Aden");
// apply atZone method
ChronoZonedDateTime result
= date.atZone(zone);
// print results
System.out.println("ChronoZonedDateTime: "
+ result);
}
}
输出:
ChronoLocalDateTime: 2018-12-06T19:21:12
ChronoZonedDateTime: 2018-12-06T19:21:12+03:00[Asia/Aden]
参考资料 : https://docs.oracle.com/javase/9/docs/api/java/time/chrono/ChronoLocalDateTime.html#atZone-java.time.ZoneId-