前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot 项目 返回时间 日期、格式不正确 解决办法

SpringBoot 项目 返回时间 日期、格式不正确 解决办法

作者头像
RAIN7
发布2022-10-08 09:09:55
2.1K0
发布2022-10-08 09:09:55
举报
文章被收录于专栏:RAIN7 de 编程之路

文章目录

SpringBoot 项目返回时间格式不正确 解决办法

  今天做一个 SpringBoot+Vue 的一个练习项目,想要搞一个创建该账号的时间,记录下来,然后展示在网页中,但是遇到了很多的问题,先介绍以下,我们之前怎么做的。

1、遇到问题

  为了实现记录并展示创建(注册)时间,在数据库中设置字段,设置timestamp类型,默认now() 时间

代码语言:javascript
复制
create_time timestamp default now() comment '保存时间' # 默认时间

  在java中使用实体类接收,createTime 使用 Date 类型来接收日期类型的数据库字段

代码语言:javascript
复制
@TableField("create_time")
private Date createTime ;

  然后创建时间之后,查询数据库的时间以及格式都非常正常,我们在连接数据库之前同样设置正确的时区,或者 serverTimezone 设置成 GMT%2b8

代码语言:javascript
复制
spring.datasource.url=jdbc:mysql://localhost:3306/vvue?serverTimezone=Asia/Shanghai

下面是注册账号时电脑时间

在这里插入图片描述
在这里插入图片描述

查询数据库中,时间与我们创建的时间是一致的,格式也是正确的

在这里插入图片描述
在这里插入图片描述

然而在实际的展示前端页面中,返回的响应展示在页面中

在这里插入图片描述
在这里插入图片描述

  格式是java 的格式,但是时间少了8个小时。我就非常纳闷了,感觉都没有问题,于是找了很多资料找到了解决方法。

2、解决方法

引用了其他博主的资料经验 https://blog.csdn.net/lujiachun1/article/details/118155198

(1)问题所在

  我们返回的响应都是json格式返回的,spring转json的默认实现jackson中会根据时区去转换时间,而jackson的默认时区跟国内是相差8小时的,所以这里得重新设置当前项目地所在时区

(2)如何解决

  在 application.properties 配置文件中中设置转会 json 的默认时区 以及 转成时间的格式

代码语言:javascript
复制
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=Asia/Shanghai

(3)效果

  更改好配置文件之后,重新启动项目,发现时间已经正确而且格式符合我们的要求。

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • SpringBoot 项目返回时间格式不正确 解决办法
  • 1、遇到问题
  • 2、解决方法
    • (1)问题所在
      • (2)如何解决
        • (3)效果
        相关产品与服务
        数据库
        云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档