【发布时间】:2026-01-29 03:25:01
【问题描述】:
我在LocalDateTime lastUpdated 中有一个UTC 日期和时间。我想显示给定区域的时间和日期,但无论是哪个区域,我都会得到相同的时间。对于以下代码:
System.out.println(lastUpdated);
System.out.println(lastUpdated.atZone(ZoneId.of("Europe/Paris")));
System.out.println(lastUpdated.atZone(ZoneId.of("America/Los_Angeles")));
我得到:
2018-05-26T21:33:46
2018-05-26T21:33:46+02:00[Europe/Paris]
2018-05-26T21:33:46-07:00[America/Los_Angeles]
但我想得到的是:
2018-05-26T21:33:46
2018-05-26T**23**:33:46+02:00[Europe/Paris]
2018-05-26T**14**:33:46-07:00[America/Los_Angeles]
区域信息对我来说是可选的。我只需要在区域的适当时间。有没有办法实现?
【问题讨论】:
-
你试过用
ZonedDateTime代替吗?
标签: java datetime java-time localdate