更新时间:2024-07-30 GMT+08:00
数据库时间与北京时间相差13或14小时该如何解决
问题现象
数据库时区设置为北京时间时,通过JDBC连接DDM,查询到的时间与北京时间相差13或14小时。
原因分析
JDBC驱动连接DDM时会向DDM查询数据库时区设置,DDM返回时区为CST(中国标准时间)。
CST有4种含义:
- 美国中部时间 Central Standard Time (USA) UTC-06:00
- 澳大利亚中部时间 Central Standard Time (Australia) UTC+09:30
- 中国标准时 China Standard Time UTC+08:00
- 古巴标准时 Cuba Standard Time UTC-04:00
在JDBC驱动中,会将CST时间解析为美国中部时间,与北京时间相差了13或14个小时。
解决方法
在JDBC连接数据库的字符串中添加时区配置项:
jdbc:mysql://xxx:3306/database_name?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8
父主题: DDM通用类