mysql查看数据库字段相差毫秒(Mysql数据库保存时间timestamp)
mysql查看数据库字段相差毫秒(Mysql数据库保存时间timestamp)美国中部时间 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然而,美国从“3月11日”至“11月7日”实行夏令时,美国中部时间改为 UTC-05:00,与 UTC 08:00 相差 13 小时。CST时区本地服务,肯定是东八区时间,不存在对应的问题,跳过此步骤。查询mysql服务器的时间配置SHOW VARIABLES LIKE '%time_zone%';时区结果
场景近日,在调研工作流Activiti7,构建本地项目,开发demo的时候,发起时间不一致问题。已知,Activiti在部署流程的时候,会操作表ACT_RE_DEPLOYMENT,此表的作用是记录流程历史的发布(包括项目本身的启动也会记录一次);且,该表中定义了一个字段DEPLOY_TIME_(timestamp数据类型)。
构建启动项目,部署一个流程(audit_process_1)发现字段DEPLOY_TIME_保存的时间与当前时间相差了13个小时。
流程部署记录表截图
排查问题服务器时区
本地服务,肯定是东八区时间,不存在对应的问题,跳过此步骤。
查询mysql服务器的时间配置
SHOW VARIABLES LIKE '%time_zone%';
时区结果
CST时区
美国中部时间 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
然而,美国从“3月11日”至“11月7日”实行夏令时,美国中部时间改为 UTC-05:00,与 UTC 08:00 相差 13 小时。
解决方案数据库连接参数
新增参数:serverTimezone=Asia/Shanghai
url: jdbc:mysql://localhost:3306/workflow?useSSL=false&nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai
username: root
password: 123456
流程发布截图
mysql配置
default-time-zone = ' 08:00'
tips
timestamp,以时间戳格式存储,占用4个字节,显示依赖于所指定的时区;
datatime 以 YYYY-MM-DD HH:MM:SS 格式存储时期时间,精确到秒,占用8个字节的存储空间。