mysql jdbc url 设置时区
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 时区值是否与预期相符。
摘抄自网络,便于检索查找。