【发布时间】:2017-08-13 09:13:54
【问题描述】:
我用 spring boot 1.5.2 创建了一个简单的应用程序。我正在传递日期,并且已经在 application.properties 文件中提到了日期格式,如下所示: spring.jackson.joda-date-time-format=yyyy-MM-dd
但是,当使用任何客户端为 POST(Insert) 或 PUT(Update) 调用其余服务时,日期将更改为当天。示例 2017-03-21 将更改为 2017-03-20。
【问题讨论】:
-
你是如何映射实体日期属性的?它们是什么类型的?您使用的是
@Type吗?信息太少,无法帮助您。 -
服务器和客户端是否在同一个时区?
-
这是一个时区问题。 Jackson 将您的日期(默认为本地时区)转换为另一个时区。我发现解决此问题的唯一方法是将 ZonedDateTime 设置为 UTC。
-
您好 Sundararj,是的,服务器和客户端位于同一时区。
-
你好 Guillaume,我如何将时区更改为 UTC 我试图通过更改 application.property 文件中的以下属性来修复它:spring.jackson.deserialization.adjust-dates-to-context-time- zone=false
标签: spring spring-boot jackson