java里的new Date() 放到数据库里的时间是不对的,但是自己new Date() System展示是对的,这个时候就是因为时区问题
时区问题,对于mysql来改有三种
第一种
set global time_zone = '+08:00';
set time_zone = '+08:00';
亲测并没有什么用
第二种
通过修改配置文件my.cnf,进行时区的修改。在文件[mysqld] 之下增加
default-time-zone='+8:00'
没试过,一般不用,毕竟公共的mysql 不敢重启
第三种
项目里 有个事链接数据库的地址的
jdbc:mysql://XXX:3306/XXX?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&allowMultiQueries=true&useSSL=true&serverTimezone=Asia/Shanghai
加上这个serverTimezone=Asia/Shanghai
保证没啥问题,亲测有效。时间会是北京时间(上海那个就和北京差不了太多,linux里面北京就上海,,,)