1.问题源自何处?
之前用的mysql 8.0以上的版本连接时都需要在url后面加 serverTimezone=UTC
实际上是指出核数据库的时区为美国。因为我们的数据库的时区是美国的,而我们连接的时候用的是中国的北京时间,然后比美国早上8个小时,然后呢用的时候就必须指出我们当前用的时间是美国的时间,这样才能连接上数据库。
2.那么可不可以直接将数据库的默认时区改到中国呢?
当然是可以的,如果是windows系统,在mysql解压路径下的 my.ini 文件的 [mysqld] 里面加上 default-time-zone=’+8:00’ ;
改了之后那么现在就可以直接用 “裸url了”。
mysql 使用了UTC方式来记录日志时间,也就是说这是个世界统一时间,存入mysql中的时间只能是UTC时间。mysql的timestamp类型数据,存储的时候会转化成UTC时间戳,读取时再从UTC转化为本地时间戳。各地的标准时间为格林威治时间(G.M.T)加上 (+) 或减去 (-) 时区中所标的小时和分钟数时差。中国是GMT+8.
1.1 查看mysql当前时间,当前时区
> selectcurtime(); #或select now()也可以+-----------+
| curtime() |
+-----------+
| 15:18:10 |
+-----------+
> show variables like "%time_zone%";+------------------+--------+
| Variabl