gpt4 book ai didi

java - 如何使用时区偏移格式化 LocalDateTime

转载 作者:搜寻专家 更新时间:2023-10-31 19:37:16 24 4
gpt4 key购买 nike

我试着这样做:

    ZoneOffset zoneOffset = ZoneOffset.ofHours(3);
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("HH:mm:ss");

LocalDateTime dateTime = LocalDateTime.now();
System.out.println("dateTimeWithoutOffset: " + fmt.format(dateTime));

ZonedDateTime zonedDateTime = ZonedDateTime.of(dateTime, zoneOffset);
System.out.println("dateWithOffset: " + fmt.format(zonedDateTime));

但我得到了相同的输出:

dateTimeWithoutOffset: 18:11:06
dateTimeWithOffset: 18:11:06

我想看到这样的东西:

dateTimeWithoutOffset: 18:11:06
dateTimeWithOffset: 21:11:06

我做错了什么?

最佳答案

如果您想使用区域偏移,OffsetDateTimeZonedDateTime 更有意义。

要将偏移量应用到您的本地时间,一种方法是说时间是 UTC,而您希望本地时间在不同的时区。所以它看起来像:

OffsetDateTime timeUtc = dateTime.atOffset(ZoneOffset.UTC); //18:11:06 UTC
OffsetDateTime offsetTime = timeUtc.withOffsetSameInstant(zoneOffset); //21:11:06 +03:00
System.out.println("dateWithOffset: " + fmt.format(offsetTime)); //21:11:06

关于java - 如何使用时区偏移格式化 LocalDateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38227524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com