可能会有用户在测试支付的时候遇到下单时间与实际支付的时间有一定差距,情况如下:
可以看到支付时间是2023-12-20 12:07:44 订单的创建时间是2023-12-21 02:07:23之间相差了14个小时,我们正常情况下设置的订单未支付失效时间都是在30分钟左右,所以不可能时间跨度这么大,这个时候我们就应该检查一下自己的数据库时区了。
这个时候我们可以先查看一下自己是数据库时区,查询的方式可以用下面的方法
show variables like "%time_zone%";
如果显示下图,则需要设置时区
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | |
| time_zone | SYSTEM |
+------------------+--------+
设置时区
1. 通过mysql命令行模式下动态修改
set global time_zone = '+8:00';
设置为北京时间,刷新mysql权限
FLUSH PRIVILEGES
这样修改第二次重启依然没有改过来
2. 通过修改配置文件来修改时区
修改配置文件my.ini
增加
default-time_zone = '+8:00'
然后重启mysql服务,可以了
再次查询
mysql> show variables like'%time_zone';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | |
| time_zone | +08:00 |
+------------------+--------+
2 rows in set, 1 warning (0.01 sec)
修改完时区后可以再去下单测试一下是否和当前时间一致
{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}
作者 管理员 企业
{{itemf.name}}
{{itemc.user_info.nickname}}
{{itemc.user_name}}
回复 {{itemc.comment_user_info.nickname}}
{{itemf.name}}