【问题标题】:Java LocalDateTime: Why is Unsupported field: OffsetSeconds produced?Java LocalDateTime:为什么会产生不支持的字段:OffsetSeconds?
【发布时间】:2020-11-24 14:53:31
【问题描述】:

我正在尝试解析下面的processingdate,以便最终得到格式为2020-11-10T10:43:07+00:00 的日期。如何修改以下内容以生成此内容?

 String processingDate = "2020-11-24";
    LocalDateTime dt =
        LocalDateTime.of(
            LocalDate.parse(
                processingDate, DateTimeFormatter.ISO_DATE),
            LocalTime.now());

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ssXXX");
OffsetDateTime dateTime = OffsetDateTime.parse(dt.format(formatter));
System.out.println(dateTime);

java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: OffsetSeconds

【问题讨论】:

    标签: java


    【解决方案1】:

    本地日期时间不包含任何区域或偏移量的概念。您正在尝试通过在模式末尾使用 XXX 将偏移量打印到字符串。

    但无论如何,没有必要从 LocalDateTime -> String -> OffsetDateTime 开始。

    做吧

    dt.atOffset(ZoneOffset.UTC)
    

    或您想要的任何其他偏移量

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-19
    • 2016-07-23
    • 2011-01-27
    • 1970-01-01
    相关资源
    最近更新 更多