Mysql Java连接器从服务器检测错误的时区
我遇到了一个非常奇怪的问题 我的本地时区是UTC+8。根据以下命令,我认为服务器的时区也是Mysql Java连接器从服务器检测错误的时区,java,mysql,datetime,Java,Mysql,Datetime,我遇到了一个非常奇怪的问题 我的本地时区是UTC+8。根据以下命令,我认为服务器的时区也是UTC+8: mysql> SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP); +--------------------------------+ | TIMEDIFF(NOW(), UTC_TIMESTAMP) | +--------------------------------+ | 08:00:00 | +--------
UTC+8
:
mysql> SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP);
+--------------------------------+
| TIMEDIFF(NOW(), UTC_TIMESTAMP) |
+--------------------------------+
| 08:00:00 |
+--------------------------------+
1 row in set (0.01 sec)
但是Java的驱动程序检测到服务器的时区是UTC-5
。更具体地说,假设我的本地时间是13:00
,如果我在数据库中插入新日期()
,那么我插入的实际时间是00:00
然而,如果我在mysql的url中添加serverTimezone=Asia/Shanghai
(UTF+8),一切都会顺利
详细信息服务器信息列表如下:
- Ubuntu 14.04.5 LTS
中的内容是/etc/timezone
Asia/Shanghai
- Mysql服务器版本:5.6.31-0ubuntu0.14.04.2-log(Ubuntu)
=spring.datasource.driver类名
com.mysql.cj.jdbc.driver
- 驱动程序版本:
mysql:mysql连接器java:6.0.5