天天看点

java.sql.Date插入数据库后时间不对

在做一个简单的时间插入数据库的操作时,我本来想插入​

​2000-01-01​

​​,但是插入到数据库后的值却是​

​1999-12-31​

​​,本来我还以为是​

​java.util.Date​

​​转​

​java.sql.Date​

​​的时候精度丢失了,但是整个网上都没人出现这个问题,于是我在​

​java​

​​代码里将​

​java.sql.Date​

​​的值打印了出来,​

​2000-01-01​

​,没毛病啊!!然后我又去检查了数据库的时区,特意set了time_zone为’+8:00’,然并卵,然而,问题的症结所在,便是在于连接数据库的URL上!

我之前连接数据库的URL是:

jdbc:mysql://localhost:3306/xxx?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC      

注意看最后一项,​

​serverTimezone=UTC​

java.sql.Date插入数据库后时间不对