java插入数据库mysql时间相差13小时

今天用java new dete() 插入数据库,插入成功发现时间少13小时

java插入数据库mysql时间相差13小时_第1张图片

万能的度娘,告诉了我事情的真相:

1原来是数据库设置的时区不是我当前所在时区。

2mysql高版本会出现这个问题,比如8.0 我用5.X没事

有很多解决方案

1—

在这里插入图片描述

在后面添加 serverTimezone=Asia/Shanghai

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai

2—

java插入数据库mysql时间相差13小时_第2张图片

show variables like '%time_zone%'

设置mysql时区:set GLOBAL time_zone = '+8:00';

但是这个只是临时有效

如果想将时区设置为永久生效,需要修改配置文件my.cnf(在/etc/my.cnf或者/etc/mysql/my.cnf):

在配置文件中添加

default-time-zone = '+8:00'

然后restart mysql。

你可能感兴趣的:(java,数据库,技术)