📅  最后修改于: 2023-12-03 15:16:31.491000             🧑  作者: Mango
在Java 8之后,时间处理类API变得更加强大和灵活。其中一个方法是atZone(),这个方法可以将本地时间转换为指定时区的时间。
ZonedDateTime atZone(ZoneId zone)
该方法将当前时间转换为指定时区的时间。
以下是一个将本地时间转换为纽约时间的示例代码:
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
public class Example {
public static void main(String[] args) {
//创建一个本地时间对象
LocalDateTime localDateTime = LocalDateTime.now();
//获取纽约时区
ZoneId newYork = ZoneId.of("America/New_York");
//将本地时间转换为纽约时间
ZonedDateTime nyTime = localDateTime.atZone(newYork);
System.out.println("本地时间:" + localDateTime);
System.out.println("纽约时间:" + nyTime);
}
}
输出结果为:
本地时间:2021-09-16T15:25:10.904185
纽约时间:2021-09-16T11:25:10.904185-04:00[America/New_York]
我们可以看到,通过atZone()方法,我们成功将本地时间转换为纽约时间。
以上是Java中的即时atZone()方法和示例。该方法可以将本地时间转换为指定时区的时间,它是Java 8引入的新特性之一。我们可以灵活使用该方法,来解决时区问题。