首页 > 解决方案 > 将 java 日期反序列化为 Instant

问题描述

我需要java.time.Instant在单个代码中反序列化以下两个格式

2020-04-23T10:51:24.238+01:002019-11-11T15:44:10.201Z

我在第一种情况下遇到错误

嵌套异常是 org.springframework.http.converter.HttpMessageNotReadableException:JSON 解析错误:无法java.time.Instant从字符串“2020-04-23T10:51:24.238+01:00”反序列化类型值:com.fasterxml.jackson.databind.exc。 InvalidFormatException:无法java.time.Instant从字符串“2020-04-23T10:51:24.238+01:00”反序列化类型值:无法反序列化 java.time.Instant: (java.time.format.DateTimeParseException) Text '2020-04-23T10 :51:24.238+01:00' 无法在索引 23 处解析

有什么解决办法吗?还有有什么方法可以反序列java.util.Date化为java.time.Instant 注意:它是一个 API 响应,我不能在反序列化的类中使用 Date ,即消费者

标签: javaserializationjava-8java-timedate

解决方案


还有有没有办法将 java.util.Date 反序列化为 java.time.Instant

了解您的 API:

final java.util.Date date = new Date();
final java.time.Instant instant = date.toInstant();

推荐阅读