jdbc url
jdbc:mysql://59.110.137.112:3306/answer?useUnicode=true&characterEncoding=utf8
&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
&nullCatalogMeansCurrent=true
设置时区
设置时区时,添加 serverTimezone 参数,比如 serverTimezone=GMT%2B8(URL 中 %2B 表示 + 号,GMT%2B8 即为 GMT+8)。
GMT+8 表示东八区,北京时间
Asia/Shanghai 表示上海时间,也是东八区
mysql 时区的影响
前言
mysql 5.7.31
jdk 1.8
mysql 的时区
假设有个 java 应用,通过 jdbc 连接 mysql,而 mysql 安装在 linux 上,此时有哪些时区?
linux 有个时区
mysql 有个时区
jdbc 有个时区
java 应用所在的 jvm 有个时区
上面几个时区中,能够影响 mysql 中数据的有 2 个时区:
mysql 有个时区(设置方法:mysql 时区设置)
jdbc 有个时区(设置方法:网上搜索)
jdbc 时区
当 java 对象类型是 Date 类型,mysql 字段类型为 datetime、timestamp 等日期类型时,jdbc 时区设置起作用。
mysql 时区
当使用 mysql 函数 UNIX_TIME ()、FROM_UNIXTIME 进行日期转换时,mysql 时区起作用。
假如使用 mysql 函数 UNIX_TIME ()、FROM_UNIXTIME 进行日期转换时,发现日期有偏差,先检查 mysql 时区值是否与预期相符。