Java 8及以上版本的java.time库实现了跨平台的日期和时间类,java.time.Instant表示从1970年1月1日UTC时间开始的时间戳,它的行为在不同平台上应该是一致的。以下是一个简单的代码示例,展示了如何使用Instant类创建一个表示当前时间的实例,并将其转换为北京时间:
Instant now = Instant.now(); // 获取当前时间
ZoneId zone = ZoneId.of("Asia/Shanghai"); // 设置时区为北京时间
ZonedDateTime zdt = now.atZone(zone); // 转换为ZonedDateTime类型
System.out.println(zdt); // 输出转换后的北京时间
无论在哪个平台上运行,以上代码都会输出当前的北京时间。