springboot框架返回日期值少一天
2024-10-20 13:51:29
1 问题
一个请求,返回一个对象,对象里面有日期,返回的对象的日期却比实际的日期少了一天
如下图:在return返回的时候查看返回的对象的日期的值
postman返回的结果如下图,几个日期都少了一天
2 产生原因
spring-boot默认使用Jackson对返回到前端的值进行序列化。Jackson框架默认的时区是UTC(协调世界时,又称统一世界时间),相比于东八区少了8小时(东+西-)。hh:12小时制,HH:24小时制。
3 解决方案
1) 使用@JsonFormat注解(推荐)
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd hh:mm:ss")
private Date begindate;
2) 在application.yml中使用如下配置
spring:
jackson:
date-format: yyyy-MM-dd hh:mm:ss
time-zone: GMT+8
或者在 bootstrap.properties 中配置
3) 数据库链接db添加参数
serverTimezone=Asia/Shanghai
注解虽然相对于配置文件比较麻烦,要写很多次,不过可以针对不同的字段的不同需求,进行单独配置
最新文章
- HDOJ 2393. Higher Math
- IT之梦
- webservice的简单示例的实现步骤
- HDU 3775 Chain Code ——(Pick定理)
- gitlab配置和搭建 ssh
- CentOS内核编译
- UNITY_MATRIX_IT_MV[Matrix] (转载)
- 对jquery的 attr()和prop()理解
- UDP vs. TCP
- C# 实现邮件发送
- javascript 回到顶部 动画效果
- mysql系列博客
- jquery瀑布流排列样式代码
- nginx介绍(一) 简介篇
- 学习笔记TF037:实现强化学习策略网络
- 4 spring 创建对象的三种方式
- Hive-1.2.1_06_累计报表查询
- 如何使用JDBC删除一条记录
- [SDOI2009]Bill的挑战——全网唯一 一篇容斥题解
- 基于 tensorflow 的 mnist 数据集预测