数据库使用的是mysql
时间字段类型为datetime
接口传递接收到的时间戳字符串转换为时间,在代码里在控制台输出时间正常(24小时)
但是在入库后发现,入库的时间与代码正常显示的时间相差8个小时
用
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
和
TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
进行对时间设置转换,均未产生效果
最后发现是在jdbc.properties里的jdbc.url的问题
jdbc:mysql://xx.xx.0.xx:3306/xx?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
这里的serverTimezone=UTC 需要更改为 serverTimezone=Asia/Shangha
即 jdbc:mysql://xx.xx.0.xx:3306/xx?serverTimezone=Asia/Shangha&useUnicode=true&characterEncoding=utf-8
入库时间错误,误差8个小时
最新推荐文章于 2023-12-14 13:32:23 发布