获取LocalDateTime转时区后的时间,并将ZonedDateTime中的Offset加到DateTime中
时间: 2023-11-15 20:48:45 浏览: 64
可以使用`LocalDateTime`和`ZoneId`类来实现将`LocalDateTime`转换为指定时区的时间,并将`ZonedDateTime`中的偏移量加到`DateTime`中。
下面是一个示例代码:
```java
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
public class Main {
public static void main(String[] args) {
// 创建一个LocalDateTime对象
LocalDateTime localDateTime = LocalDateTime.of(2021, 9, 1, 10, 0, 0);
// 定义目标时区
ZoneId targetZone = ZoneId.of("America/New_York");
// 将LocalDateTime转换为目标时区的ZonedDateTime对象
ZonedDateTime zonedDateTime = localDateTime.atZone(targetZone);
// 获取ZonedDateTime中的偏移量
int offsetSeconds = zonedDateTime.getOffset().getTotalSeconds();
// 将偏移量加到DateTime中
LocalDateTime result = localDateTime.plusSeconds(offsetSeconds);
System.out.println("转换后的时间:" + result);
}
}
```
阅读全文