报错截图:
原因:数据库和系统时区之间有差异
解决方案:在jdbc连接的url后面加上?serverTimezone=GMT即可解决问题,如果需要使用gmt+8时区,需要写成GMT%2B8,否则会被解析为空。
备注
问题1:什么是系统时区?
指电脑操作系统的时间,默认情况下,与电脑的所在地有关。全球分为24个时区,所处区域不同,时间不同。
问题2:MySQL数据库和系统时区为什么有差异?
MySQL数据库中采用的时间是世界统一时间(UTC);
我国的系统时区,即代码中的默认时间是北京东八区时间。
问题3:世界统一时间(UTC)是什么?
UTC又称协调世界时,主要是用来协调世界统一时间和世界时(以地球自转为基础的时间计量系统)随着时间的增长造成的差异,确保协调世界时与世界时相差不会超过0.9秒,近似的反映地球自转的变化,在时刻上尽量接近于世界时的一种时间计量系统。
主要应用于许多互联网和万维网的标准中。
问题4:中国与UTC世界统一时间相差多少?
*、中国香港、中国澳门、中国*、蒙古国、新加坡、马来西亚、菲律宾、西澳大利亚州的时间与UTC的时差均为+8,也就是UTC+8,即比世界统一时间早8个小时。
具体实例参考:https://blog.csdn.net/weixin_42353194/article/details/90599215
java连接MySQL报错:The server time zone value '?й???????' is unrecognized or represents more······;