暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

时区问题

原创 忘忧草 2022-07-09
1491

介绍

插入时间参数,常用mysql系统函数NOW(),或在代码中指定Date类型的值。当在代码中使用Date设置时间时,中间涉及mysql数据库和系统的时间转换,这就涉及到时区的问题,如果数据库与系统时区不一致,哪怕new Date()和NOW()的值相等,执行SQL时这个时间参数可能就和系统不一样了。

这种情况,可以在连接数据库的url中指定时区serverTimezone( utc为国际时间,和北京时间差8小时, GMT表示北京时间东八区);也可以修改mysql的系统配置:

命令修改

#查看数据库当前时间
SELECT NOW();
#查看时区
show variables like ‘%zone%’;
select @@time_zone;
#修改mysql全局时区为北京时间
set global time_zone = ‘+8:00’;
#修改当前会话时区
set time_zone = ‘+8:00’;
#立即生效
flush privileges;
2、配置文件修改

编辑配置文件vim /etc/my.cnf,找到[mysqld],然后加入default-time-zone = ‘+8:00’。重启mysql让时区生效

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论