Timestamp 与时区相关,如何理解:
1、创建数据库表后,如果字段格式为:timestamp,存入的时间都会先转成UTC格式的时间,存入到数据库,读取也是读取到时间后,转为当前时区的时间去显示。
| tbl_table_test | CREATE TABLE `tbl_table_test` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`create_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '规则创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;
中国-GMT+8时区,去插入数据:
切换时区到韩国-GMT+9时区,再次查询数据:
总结:显示结果与具体的时区相关,DB存储的时间是统一UTC时区的时间。