Open dushaoshuai opened 1 year ago
从 MySQL 8.0.19 开始,向 DATETIME 和 TIMESTAMP 列中插入数据时,可以指定时区偏移量。偏移量的范围是 [-13:59, +14:00],并且有一些格式上的要求,具体可以查看文档。带时区偏移量的时间值格式大概是这样:
'2013-12-23 23:34:45+08:00' '2013-12-23 23:34:45-10:34'
先创建一张表:
CREATE TABLE `tztest` ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, ts TIMESTAMP NOT NULL, dt DATETIME NOT NULL );
插入数据:
mysql> SELECT @@system_time_zone; +--------------------+ | @@system_time_zone | +--------------------+ | CST | +--------------------+ 1 row in set (0.00 sec) mysql> INSERT INTO `tztest` (`ts`, `dt`) VALUES -> ('2005-01-23 23:23:23', '2005-01-23 23:23:23'), -> ('2005-01-23 23:23:23+00:00', '2005-01-23 23:23:23+00:00'), -> ('2005-01-23 23:23:23+09:00', '2005-01-23 23:23:23+09:00'); Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM `tztest`; +----+---------------------+---------------------+ | id | ts | dt | +----+---------------------+---------------------+ | 1 | 2005-01-23 23:23:23 | 2005-01-23 23:23:23 | | 2 | 2005-01-24 07:23:23 | 2005-01-24 07:23:23 | | 3 | 2005-01-23 22:23:23 | 2005-01-23 22:23:23 | +----+---------------------+---------------------+ 3 rows in set (0.00 sec)
注意查询出来的时间值并不包含时区偏移量,这个时间值是在时区 @@system_time_zone 中的时间。
@@system_time_zone
specify a time zone offset
格式
从 MySQL 8.0.19 开始,向 DATETIME 和 TIMESTAMP 列中插入数据时,可以指定时区偏移量。偏移量的范围是 [-13:59, +14:00],并且有一些格式上的要求,具体可以查看文档。带时区偏移量的时间值格式大概是这样:
先创建一张表:
插入数据:
注意查询出来的时间值并不包含时区偏移量,这个时间值是在时区
@@system_time_zone
中的时间。参见
specify a time zone offset