为了验证 TIMESTAMP 存储时间与时区有关,显示的值也依赖于时区 看了mysql 时区 时间网 世界时区

MySQL查看和修改时区的方法

查看当前时区

1. 在MySQL客户端,可以通过如下命令查看当前时区:

SELECT @@global.time_zone;

2. 查看当前时区的设置,可以通过如下命令:

SHOW VARIABLES LIKE '%time_zone%';

输出内容包含了当前时区设置、可用的时区列表,以及系统时间和UTC时间之间的时差(即偏移量)。

下面验证mysql的 TIMESTAMP 存储时间与时区有关,显示的值也依赖于时区 默认mysql的时区是跟随系统时区显示,服务器是英国格林威治标准时间(GMT),改成中国时间东八区 ( UTC +8 ),看的出date2字段前后的时间变化跟时区有关。

mysql> show variables like '%time_zone%';

+------------------+--------+

| Variable_name | Value |

+------------------+--------+

| system_time_zone | GMT |

| time_zone | SYSTEM |

+------------------+--------+

2 rows in set (0.00 sec)

mysql> select date2 from new where id=1;

+---------------------+

| date2 |

+---------------------+

| 2023-12-05 16:06:51 |

+---------------------+

1 row in set (0.00 sec)

mysql> set time_zone = '+08:00';

Query OK, 0 rows affected (0.00 sec)

mysql> show variables like '%time_zone%';

+------------------+--------+

| Variable_name | Value |

+------------------+--------+

| system_time_zone | GMT |

| time_zone | +08:00 |

+------------------+--------+

2 rows in set (0.01 sec)

mysql> select date2 from new where id=1;

+---------------------+

| date2 |

+---------------------+

| 2023-12-06 00:06:51 |

+---------------------+

1 row in set (0.00 sec)

修改时区

1. 修改MySQL全局时区

将MySQL服务的时区更改为UTC:

SET GLOBAL time_zone = '+00:00';

这里的’+00:00’代表UTC时间。

2. 修改当前会话时区

将当前会话的时区更改为本地时区:

SET time_zone = 'Asia/Shanghai';

这里’Asia/Shanghai’代表中国的时区。

以上两种方法可以根据实际需求设置时区。

示例说明:

假设你需要在MySQL中使用同一个时区,这时可以通过修改全局时区实现:

SET GLOBAL time_zone = '+08:00';

如果你需要在MySQL中同时使用不同的时区,可以通过修改当前会话时区来实现:

SET time_zone = 'America/New_York';

这里’America/New_York’代表美国纽约的时区。

好文阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: