【发布时间】:2021-06-18 07:50:56
【问题描述】:
我有 UTC 的当前日期时间,但我需要时区的日期时间(欧洲/伦敦)。我试过了,但每次都没有添加,而不是在当前日期时间中添加这个偏移量。
我的代码 -
LocalDateTime utcTime = LocalDate.now().atTime(0,1);
System.out.println("utc time " + utcTime);
ZoneId europeLondonTimeZone = ZoneId.of("Europe/London");
ZoneOffset offset = europeLondonTimeZone.getRules().getOffset(utcTime);
OffsetDateTime offsetDateTime = utcTime.atOffset(offset);
System.out.println(offsetDateTime);
它将打印:
"2021-06-18T00:01+01:00"
但我想要
"2021-06-17T23:01"
因为 +01:00 早于夏令时。
谢谢
【问题讨论】:
-
OffsetDateTime.now(europeLondonTimeZone). -
也许这个帖子会对你有所帮助 -> stackoverflow.com/a/38227586/9183199
标签: java spring-boot datetime localdatetime