MySQL查看和修改时区

为了验证 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’代表美国纽约的时区。

你可能感兴趣的:(mysql,数据库)