设置spring配置文件:

1、spring.datasource.url=jdbc:mysql://10.35.105.25:3306/database?characterEncoding=utf-8&serverTimezone=GMT+8

数据库配置后面加上&serverTimezone=GMT+8

2、spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

spring.jackson.time-zone=GMT+8

第一步为设置数据库时间为东八区(北京)时间,保证debug时候从数据库查出时间一致。第二步为返回给前端的时间格式和时区设定,保证前端页面显示时间和数据库一致。

据库时间设置为UTC,代码中debug时,就会发现time时间查出来为Thu May

23 17:49:00 CST

2019,多8个小时。因为数据库时间是UTC世界统一时间,而代码中默认为北京时间(东八区),东八区要早8小时,也就是多8小时。时区差值可以百度了解。

方法四:

进入mysql

查看时区是什么

--查看数据库时区设置

mysql> show

variables like "%time_zone%";

+------------------+--------+

|

Variable_name |

Value |

+------------------+--------+

|

system_time_zone | UTC |

|

time_zone | SYSTEM |

+------------------+--------+

--修改当前会话时区,退出msql后 time_zone

会恢复成修改前的值

mysql> set

time_zone = '+8:00';

Query OK, 0

rows affected (0.00 sec)

mysql> show

variables like "%time_zone%";

+------------------+--------+

|

Variable_name |

Value |

+------------------+--------+

|

system_time_zone | UTC |

|

time_zone | +08:00 |

+------------------+--------+

—-修改全局会话时区

mysql> set

global time_zone = '+8:00';

mysql> set

time_zone = '+8:00';

mysql>

flush privileges;

说明:

1 链接mysql的url上 添加参数 &serverTimezone=UTC,

或者增加&serverTimezone=Asia/Shanghai

2 进入mysql 查看时区是什么 :

> show variables like

"%time_zone%";

如果时区不对,修改 :

> set global time_zone =

'+8:00'; ##修改mysql全局时区为北京时间,即我们所在的东8区

> set time_zone =

'+8:00'; ##修改当前会话时区

> flush

privileges; #立即生效

3 仔细调试,发现其实是Controller 在返回json

数据到浏览器的时候出错了,试过网上说的,修改配置文件,也没有用:

spring:

jackson:

time-zone:

GMT+8

4

然后试了一下这种方式:

import

org.springframework.boot.SpringApplication;

import

org.springframework.boot.autoconfigure.SpringBootApplication;

import

javax.annotation.PostConstruct;

import

java.util.TimeZone;

@SpringBootApplication

public

class SpringBootStudyApplication {

//设置时区 相差8小时

@PostConstruct

void started() {

TimeZone.setDefault(TimeZone.getTimeZone("UTC"));

}

public static void main(String[] args)

{

SpringApplication.run(SpringBootStudyApplication.class,

args);

}

}

说明:

1、spring-boot中对于@RestController或者@Controller+@ResponseBody注解的接口方法的返回值默认是Json格式,

所以当对于date类型的数据,在返回浏览器端是会被spring-boot默认的Jackson框架转换,而Jackson框架默认的时区GMT(相对于中国是少了8小时)。

但是不知道为什么我这个项目再配置文件加上jackson的时区配置不起作用。

2、@PostContruct是spring框架的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法。

3、TimeZone.setDefault(TimeZone.getTimeZone("UTC"));

用来修改整个java应用程序的时区,当jvm默认的时区不是中国时间时,可以这样手动修改。

加上以上代码后,重启,刷新页面,时间确实显示对了,本来以为彻底解决了,但是发现刷新多几遍,时间有时候显示是对的,有时候显示还是慢8个小时,原因我也不清楚。而且会导致我在获取系统当前时间的时候,慢8八个小时。

后面发现我的实体类的时间属性,都用@JsonFormat 格式化了:@JsonFormat(pattern = "yyyy-MM-dd

HH:mm:ss"),@JsonFormat

是jackson的注解,查资料发现这个注解可以加上时区的设置:

@JsonFormat(pattern = "yyyy-MM-dd

HH:mm:ss",timezone="GMT+8")

private Date

createTime;

删掉启动类里

TimeZone.setDefault(TimeZone.getTimeZone("UTC"));的代码,然后在所有实体类的时间属性上,加上上面的注解代码,就彻底解决了。

mysql date 24小时制_SpringBoor连接mysql数据库取数据库中时间格式是12小时制的时间,如何显示成24小时制...相关推荐

  1. mysql 8创建远程访问用户以及连接mysql速度慢的解决方法

    mysql 8创建远程访问用户以及连接mysql速度慢的解决方法 参考文章: (1)mysql 8创建远程访问用户以及连接mysql速度慢的解决方法 (2)https://www.cnblogs.co ...

  2. centos6.5 mysql 远程访问_CentOS 6.5 中安装 Mysql 5.6,并远程连接Mysql

    ι 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.在安装CentOS时,若选择的是Basic Server(可支持J2EE开发),则新安装好的CentOS系统中默认是已经安装了一个mysq ...

  3. python连接mysql的几种方式_Python连接MySQL数据库的多种方式

    本次代码实现连接远程服务器 由于MySQL服务器以独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL驱动来连接到MySQL服务器. 目前,MySQL驱动有几种: mysql-c ...

  4. mysql连接数据库出现1251错误_连接MySQL数据库时出现#1251错误的解决方法

    连接MySQL数据库时出现#1251错误的解决方法 连接MySQL数据库时常会出现如下的错误提示: #1251 - Client does not support authentication pro ...

  5. spark 写mysql 设置主键_Spark Sql 连接mysql

    1.基本概念和用法(摘自spark官方文档中文版) Spark SQL 还有一个能够使用 JDBC 从其他数据库读取数据的数据源.当使用 JDBC 访问其它数据库时,应该首选 JdbcRDD.这是因为 ...

  6. mysql凡人入门_3种PHP连接MYSQL数据库的常用方法

    对于PHP入门用户来说,我们只要掌握基本的数据库写入.读取.编辑.删除等基本的操作就算入门,也可以写出简单的程序出来,比如留言本.新闻文章系统等等. 在整个过程中,MySQL数据库的连接也是比较重要的 ...

  7. powerdesigner 同步mysql 报错_Win7下PowerDesigner连接mysql,反向工程,导出差异脚本,或直接同步...

    1.系统装的是Win7+X64jdk,用PowerDesigner jdbc连接mysql数据库时,提示Could not Initialize JavaVM! 在网上搜了一下说PowerDesign ...

  8. spring连接mysql出现问题_使用spring连接mysql数据库出错

    最近在学习spring框架,但是在学到JdbcTemplate时连接数据库一直报错,百度谷歌各种查找都能没有解决问题,简直要癫狂,报错信息如下: org.springframework.jdbc.Ca ...

  9. mysql 汉编码 的选_peewee连接mysql汉语言数据编码_mysql

    peewee连接mysql中文数据编码 系统是win7 x64 python 2.7.6的site.py里面编码设定为 utf-8 py文件首行指定 #coding:utf-8 mysql 5.5.3 ...

最新文章

  1. Winform中设置ZedGraph曲线图的字体样式是避免出现边框
  2. 独立艺术家大谷spizher带你玩转PaddleGAN
  3. 项目前的知识点准备(1)
  4. python unitest框架_python单元测试框架Unitest
  5. ASP.NET下MVC设计模式的实现
  6. 如何用最短的时间学会C语言,并掌握C语言的精髓所在?
  7. python length-1_TypeError:使用基本操作时,只有length1数组可以转换为Python标量
  8. docker学习总结二
  9. CRM 权限设置 ss
  10. 关注深圳电子商务企业的发展
  11. DIV+CSS常见问题的14条原因分享
  12. 【树状数组】【P3608】平衡的照片
  13. matlab直线的程序,MATLAB|辅助直线绘制程序
  14. 方舟建筑代码指令大全
  15. 如何修改PDF文件内的文字的字体和颜色?
  16. Java NIO初试
  17. 汽车辅助驾驶系统中的图像处理算法
  18. Python+Django毕业设计中小型企业工作日志管理系统APP(程序+LW+部署)
  19. 心理学上最诡异的23张图!!
  20. 如何对振弦式渗压计进行数据读取和处理

热门文章

  1. excel统计类别个数
  2. 仿照微信写的uni-app项目
  3. ps CS6 不能直接拖入图片的问题!!win8 系统下
  4. unable to access https://github.com/....解决方法
  5. 如何在 Linux 中查找一个文件
  6. 使用 Google Guava Striped 实现基于 Key 的并发锁
  7. sap税码配置_SAP税务管辖码Tax Jurisditcion code功能(1)
  8. 不同手机类型该如何更换手机IP
  9. rufus制作u盘启动
  10. 终于来了~微信车载版正式上线~