mysql数据库时区修改,国际时间变北京时间

select now();
show variables like ‘%time_zone%’;
set global time_zone = ‘+8:00’;
set time_zone = ‘+8:00’;
select now();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你希望在 MySQL 数据库中存储的时间是 UTC 时间加8小时(即北京时间),可以按照以下步骤进行配置: 1. 首先,在 MySQL 中执行以下 SQL 语句,将 MySQL时区设置为 UTC 时间: ``` SET time_zone = '+00:00'; ``` 2. 接着,如果你使用 TIMESTAMP 类型存储时间,可以在创建表时指定 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 属性,这样 MySQL 将会自动将存储的时间转换为 UTC 时间。 例如,创建一个表时可以使用以下 SQL 语句: ``` CREATE TABLE mytable ( id INT PRIMARY KEY AUTO_INCREMENT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- 其他列... ); ``` 3. 如果你使用 DATETIME 类型存储时间,可以将存储的时间转换为 UTC 时间后再存储。可以使用以下 SQL 语句将本地时间转换为 UTC 时间: ``` CONVERT_TZ(NOW(), @@session.time_zone, '+00:00'); ``` 这里的 NOW() 返回当前的本地时间,@@session.time_zone 返回当前会话的时区。将这两个参数传入 CONVERT_TZ 函数中,将本地时间转换为 UTC 时间。 4. 如果你需要查询存储的时间时将其转换北京时间,可以使用以下 SQL 语句将 UTC 时间转换北京时间: ``` CONVERT_TZ(created_at, '+00:00', '+08:00'); ``` 这里的 created_at 是存储的 UTC 时间,'+00:00' 表示 UTC 时区,'+08:00' 表示北京时区。将这三个参数传入 CONVERT_TZ 函数中,将 UTC 时间转换北京时间。 需要注意的是,如果是在 Linux 服务器上运行 MySQL 数据库,还需要确保系统时区MySQL 时区保持一致,否则可能会出现时间显示不正确的问题。可以使用以下命令查看系统当前时区: ``` timedatectl ``` 如果需要修改系统时区,可以使用以下命令: ``` timedatectl set-timezone Asia/Shanghai ``` 同样,这里的 'Asia/Shanghai' 是时区的名称,可以根据实际情况修改
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值