Java中的 ChronoLocalDateTime atZone() 方法及示例
ChronoLocalDateTime 接口的atZone(ZoneId zone)方法用于将此 ChronoLocalDateTime 与以 ZoneId 作为参数给出的时区组合以创建 ZonedDateTime 对象。该方法以 ZoneId 为参数,在操作返回 ChronoZonedDateTime 对象后,将时区与此 ChronoLocalDateTime 结合起来。
句法:
ChronoZonedDateTime atZone(ZoneId zone)
参数:此方法接受一个参数zone ,该参数是要与此 ChronoLocalDateTime 对象组合的区域。它不应该为空。
返回值:该方法返回一个ChronoZonedDateTime ,它是 ChronoLocalDateTime 的当前区域和作为参数传递的区域的组合。
下面的程序说明了 ChronoLocalDateTime.atZone() 方法:
方案一:
// 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]
方案二:
// 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-