MySQL插入时间或自动加8个小时,修改时区无效

我需要往数据库插入时间,但是插入进去会自动加8个小时

测试:

img



数据库插入结果:

img



然后我像帖子那么说,修改时区,serverTimezone=GMT%2b8 或者改成 serverTimezone=Asia/Shanghai,都没有用

img

有人知道解决方法吗,我MySQL版本是8,谢谢各位!

如果你的java对应字段类型是Date类的话,可能是你的日期字段到了java程序的时候就已经+8了。
如果你的json转换是默认的,你可以在实体类对应的字段上加这个注解 @JsonFormat(timezone = "GMT+8")

在传输和存储的,都应该是GMT时间。建议你应该将 2023-10-10转换为GMT的时间存储。
但我通常不会使用数据库的Date类型,我会使用 big int( 其实就是long)来存时间(timestamp)

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^