我需要往数据库插入时间,但是插入进去会自动加8个小时
测试:
数据库插入结果:
然后我像帖子那么说,修改时区,serverTimezone=GMT%2b8 或者改成 serverTimezone=Asia/Shanghai,都没有用
有人知道解决方法吗,我MySQL版本是8,谢谢各位!
如果你的java对应字段类型是Date类的话,可能是你的日期字段到了java程序的时候就已经+8了。
如果你的json转换是默认的,你可以在实体类对应的字段上加这个注解 @JsonFormat(timezone = "GMT+8")
在传输和存储的,都应该是GMT时间。建议你应该将 2023-10-10转换为GMT的时间存储。
但我通常不会使用数据库的Date类型,我会使用 big int( 其实就是long)来存时间(timestamp)