new Date()与linux系统时间不一致,java获取mysql的datetime不一致

Date date = new Date(); 获取当前系统时间比Linux系统时间早了8个小时,请问如何解决?
docker容器里获取mysql的时间比数据库实际的时间提前了一天,数据库的时间字段的类型是:datetime

img

img

数据库里存的是 2023-05-12 00:00:00,但通过java获取到的时间是5月11日,请问是怎么回事?

时区不一样,自己调整一下时区

构建镜像指定时区
-Duser.timezone=Asia/Shanghai

你在数据库里获取到的是数据库所在服务器的时间,不是本地时间
而date获取到的是本地时间
有时差先看时区是否一致,再看系统时间怎么设置的