spring - Jackson 在 Spring Boot Rest 应用程序中将日期更改为 1 天。

标签 spring spring-boot jackson

我用 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。

最佳答案

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

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

或者您可以将这些行添加到 application.properties 文件:
spring.jackson.time-zone=Europe/Paris
spring.jackson.locale=fr_FR

如果您在另一个国家/地区,您可以更改区域设置和时区,但即使您保留法国,它也能奏效。

关于spring - Jackson 在 Spring Boot Rest 应用程序中将日期更改为 1 天。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42931613/

相关文章:

java - 将 XML 转换为 JSON,反之亦然,以及如何在发出 XML 请求时识别 REST 端点?

json - Jersey 的自定义 ExceptionMapper 不适用于无效的 JSON 输入

java - jackson :将空字符串反序列化为空字符串

java spring处理项目依赖库中的@Configuration类

java - 在 Spring 应用程序中获取 HttpServletRequest 主体数据

java - *** 中的字段 authenticationManager 需要找不到类型为 'org.springframework.security.authentication.AuthenticationManager' 的 bean

java - jersey 2.6 jackson 2.3 和 map 中的复杂键

java - Spring 缓存 : Evict multiple caches

java - 集合排序抛出异常

java - VSCode Java 调试器抛出错误 'org.eclipse.jdi.internal.connect.ConnectImpl$StringArgumentImpl.<init>'