Java 中的 Mysql 时区问题

(Photo by Andrea Piacquadio from Pexels)
话说工作十多年,mysql 还真没用几年。起初是外企银行,无法直接接触到 DB;后来一直从事架构方面,也多是解决问题为主。
这次搭建海外机房,围绕时区大家做了一番讨论。不说最终的结果是什么,期间有同事认为 DB 返回的是 UTC 时间。
这里简单做个验证,顺便看下时区的问题到底是如何处理。
环境
openjdk version “1.8.0_242” mysql-connector-java “8.0.20” mysql “5.7” 时区 TZ=Europe/London 本地时区 GMT+8
创建个简单的库test及表user, 表结构如下:
CREATE TABLE `user` (
`name` varchar(50) NOT NULL,
`birth_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1
插入一条测试数据:


[图片来自 https://www.facebook.com/sequenceprocess/]