可以使用atZone()
Java中Instant类中的方法将Instant与时区组合以创建ZonedDateTime对象。此方法需要一个参数,即ZoneID,并返回ZonedDateTime对象。
演示此程序如下
import java.time.*; public class Demo { public static void main(String[] args) { Instant i = Instant.parse("2019-01-13T18:35:19.00Z"); System.out.println("The Instant object is: " + i); ZonedDateTime zdt = i.atZone(ZoneId.of("Australia/Melbourne")); System.out.println("The ZonedDateTime object is: " + zdt); } }
输出结果
The Instant object is: 2019-01-13T18:35:19Z The ZonedDateTime object is: 2019-01-14T05:35:19+11:00[Australia/Melbourne]
现在让我们了解上面的程序。
首先显示当前时刻。然后,将Instant与时区组合以使用atZone()
方法创建ZonedDateTime对象。显示ZonedDateTime对象。演示此的代码片段如下:
Instant i = Instant.parse("2019-01-13T18:35:19.00Z"); System.out.println("The Instant object is: " + i); ZonedDateTime zdt = i.atZone(ZoneId.of("Australia/Melbourne")); System.out.println("The ZonedDateTime object is: " + zdt);