当前位置: 首页 > 知识库问答 >
问题:

杰克逊在Spring开机Rest应用程序中将日期更改为一天。

晁开宇
2023-03-14

我用springboot 1.5.2创建了一个简单的应用程序。我正在传递日期,并且已经提到了应用程序中的日期格式。属性文件如下:spring.jackson.joda date-time format=yyyy-MM-dd

但是,当使用POST(插入)或PUT(更新)的任何客户端调用rest-rest服务时,日期将更改为当天。示例2017-03-21将更改为2017-03-20。

共有1个答案

仰雅昶
2023-03-14

我遇到了同样的问题,我以这种方式解决了它: 在您的整体中,添加这些注释:

@Temporal(TemporalType.DATE)
@JsonFormat(shape = JsonFormat.Shape.STRING, locale = "fr-FR", timezone = "Europe/Paris")
private Date yourDate;

也可以将这些行添加到应用程序中。属性文件:

spring.jackson.time-zone=Europe/Paris
spring.jackson.locale=fr_FR

如果你在另一个国家,你可以更改地区和时区,但即使你保留法国,它也会起作用。

 类似资料:
  • 问题内容: 我想将日期从Twitter反序列化为。我的程序在反序列化领域失败。 我的网域课程 我的解析方法 两项测试均失败,并出现java.time.ZonedDateTime 错误。 我已经检查了关于Stackoverflow的类似问题,我的格式看起来正确。 我做错了吗? 解决了 问题出在地区。添加确切的区域设置后,测试开始通过。 对于 用于测试 问题答案: 尝试在您的媒体资源上添加此注释

  • 我想将Twitter上的日期反序列化为。我的程序在<code>created_at</code>字段反序列化时失败。 我的域名类 我的解析方法 两个测试都失败,java.time.ZonedDateTime 类型的值。 我在Stackoverflow上检查了类似的问题,我的格式看起来是正确的。 我做错了? 解决 问题出在区域设置中。添加确切的区域设置后,测试开始通过。 对于<code>jackso

  • 我正在将JAX-RS应用程序从WebSphere 8.0迁移到WebSphere Liberty 8.5.5。 在WebSphere 8.0中,Jackson是由WebSphere提供的。我可以在AppServer\plugins\目录中找到、、和文件。 在新的应用服务器(WebSphere Liberty)中,我得到以下异常:< code > org . code Haus . Jackson

  • Java Jackson能否将一个json字符串date反序列化成Java Long字段(从epoch开始的毫秒数)? 这是一个要反序列化的json字段的示例: 这是Java类中的同一字段,带有当前注释: 但是,发生异常: com . faster XML . Jackson . databind . exc . invalidformatexception:无法从字符串“2022-01-02T0

  • 问题内容: 我在项目中使用过Spring DateRest和SpringBoot。这个项目有一个对象,我使用了@JsonFormat注释来格式化将从我的Json接收的日期字段。日期字段的格式为“ dd / MM / yyyy”。当我发送json值“ 08/07/1980”时,杰克逊将转换为值“ 07/07/1980”。 问题是@JsonFormat将日期设置为少一天 这是我的源代码 谢谢 问题答案

  • 我试图在Jackson的spring boot应用程序中从JSON获取日期字段。JSONFormat如下所示: 它在大多数情况下都能正常工作,但当我通过2017-0526时,它会自动将其转换为2018年5月10日。 如果日期不是yyyyMMdd格式或包含减号,我想引发异常。我试图查看堆栈溢出和Jackson文档,但找不到任何东西。 为什么JsonFormat接受负日期? 对此是否有任何解决方法,以