Loading... 为了验证 **TIMESTAMP 存储时间与时区有关,显示的值也依赖于时区** 看了mysql 时区 [时间网 世界时区](http://www.shijian.cc/shiqu/) # [MySQL查看和修改时区的方法](https://pythonjishu.com/uyjuqjxchmnsrdz/) ## 查看当前时区 ### 1. 在MySQL客户端,可以通过如下命令查看当前时区: ```mysql SELECT @@global.time_zone; ``` ### 2. 查看当前时区的设置,可以通过如下命令: ```mysql SHOW VARIABLES LIKE '%time_zone%'; ``` 输出内容包含了当前时区设置、可用的时区列表,以及系统时间和UTC时间之间的时差(即偏移量)。 下面验证mysql的 **TIMESTAMP 存储时间与时区有关,显示的值也依赖于时区** 默认mysql的时区是跟随系统时区显示,服务器是英国格林威治标准时间(GMT),改成中国时间东八区 ( UTC +8 ),看的出date2字段前后的时间变化跟时区有关。 ```mysql 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: ```mysql SET GLOBAL time_zone = '+00:00'; ``` 这里的'+00:00'代表UTC时间。 ### 2. 修改当前会话时区 将当前会话的时区更改为本地时区: ```mysql SET time_zone = 'Asia/Shanghai'; ``` 这里'Asia/Shanghai'代表中国的时区。 以上两种方法可以根据实际需求设置时区。 示例说明: 假设你需要在MySQL中使用同一个时区,这时可以通过修改全局时区实现: ```mysql SET GLOBAL time_zone = '+08:00'; ``` 如果你需要在MySQL中同时使用不同的时区,可以通过修改当前会话时区来实现: ``` SET time_zone = 'America/New_York'; ``` 这里'America/New_York'代表美国纽约的时区。 最后修改:2023 年 12 月 05 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏