首页 > 数据库 >Java接收到MySQL数据库查询出的date类型的数据输出格式不对

Java接收到MySQL数据库查询出的date类型的数据输出格式不对

时间:2023-04-14 19:12:04浏览次数:35  
标签:JsonFormat 00 Java effective MySQL time 格式 date 注解

问题

查询某条数据,里面有个 effective_time 字段,数据库里保存的该条数据的 effective_time 的值是 2023-04-13 ,但是使用postman调用接口,返回的确是 2023-04-12T16:00:00.000+00:00,不仅格式不对,而且时间还慢了一天。

但是在 application.yml 中配置数据库连接的时候,确实指定了时区是shanghai(东八区)。

spring:
  application:
    name: demo
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/itums?serverTimezone=Asia/Shanghai&characterEncoding=utf-8&useSSL=false
    username: root
    password: xxx
    type: com.alibaba.druid.pool.DruidDataSource

解决方法

解决方法:使用@JsonFormat注解。
@JsonFormat注解是一个时间格式化注解,用于格式化时间。@JsonFormat默认情况下是timeZone为GMT(即标准时区),和北京时间相差8小时。

因此,在实体类的 effective_time 成员上加上 @JsonFormat 注解,指定格式和时区(东八区)。这样就能解决格式问题和时间问题了。

@Data
public class SystemAvailability implements Serializable {
    //其他字段省略...

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date effectiveTime;
	
}

标签:JsonFormat,00,Java,effective,MySQL,time,格式,date,注解
From: https://www.cnblogs.com/FengZeng666/p/17319348.html

相关文章

  • Linux java生成图片文字乱码问题
     场景:用java生成图片文字,在windows运行没问题,发布到linux中发现文字乱码了原因:图片是在Linux下的系统里生成的,用到java.awt.Font这个类。实例化的时候它会到JRE里去找字体,如果找不到对应字体,就会显示方框解决方法:把需要的字体文件从windows系统中粘贴到Linux一份,重启服务器......
  • JavaSE06方法
    1.方法概述1.1方法的概念​ 方法(method)是程序中最小的执行单元注意:方法必须先创建才可以使用,该过程成为方法定义方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用2.方法的定义和调用2.1无参数方法定义和调用定义格式:publicstaticvoid......
  • javaweb实验二
    实验项目名称:实验二  服务器端简单程序设计 一、实验目的通过一个小型网站的开发,加深对session,request,response,cookie等对象的理解,掌握其使用方法,进一步深入掌握HTML、CSS和JavaScript等知识。二、实验内容和基本要求1)编写index.jsp文件,展示某一类物品或知识的介绍,可以......
  • 【Java】初学Vert.x(1)
    今天开始将分享自己初学Vert.x的一些经验和看法。里面有不足或想得不周到的地方,还请各位看官多多包涵。为了更贴合实际,本次分享将结合实例进行叙述。实例将提供一个简单的RESTful接口用以收集埋点数据,希望能帮助各位理解。1.前言本人学习Vert.x的初衷是为了找一个Springboot的平替......
  • Java基础语法
    Java基础语法注释、标识符、关键字注释:注释并不会被执行,是给我们写代码的人看的。分为单行注释,多行注释,文档注释。标识符:Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。关键字:标识符注意点:所有的标识符都应该以字母,美元符($),下划线(_)开始。首字母......
  • MySQL学习笔记-索引
    索引索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。无索引的查找:全表扫描(将整张表遍历一遍),性能......
  • Java中的long与double的区别
    1.long与double在java中本身都是用64位存储的,但是他们的存储方式不同,导致double可储存的范围比long大很多2.long可以准确存储19位数字,而double只能准备存储16位数字(实际测试,是17位,)。double由于有exp位,可以存16位以上的数字,但是需要以低位的不精确作为代价。如果一个大于17位的lo......
  • MySQL数据库实现主主同步
    前言MySQL主主同步实际上是在主从同步的基础上将从数据库也提升成主数据库,让它们可以互相读写数据库,从数据库变成主数据库;主从相互授权连接,读取对方binlog日志并更新到本地数据库的过程,只要对方数据改变,自己就跟着改变。1.主主同步的优与劣事实上每个技术都有它的优劣势,我们......
  • JavaScript 中 new Date().getTime() 方法在 iOS 中的兼容性问题
    JavaScript中newDate(time).getTime()获取时间戳方法在iOS中的兼容性问题在iOS系统的H5页面中获取时间戳方法newDate(time).getTime()存在返回NaN或结果不准确的情况在iPhone8中iOS11.03系统下的H5页面测试newDate(time).getTime()方法测试代码:测试结......
  • mysql之审计
    ###################https://blog.csdn.net/weihaodong0557/article/details/113805838  showvariableslike'have%';   //查看hava_openssl mkdir/home/work/mysql_3306/ssl//home/work/mysql_3306/bin/mysql_ssl_rsa_setup--datadir=/home/work/mysql_33......