可能會(huì)有用戶在測(cè)試支付的時(shí)候遇到下單時(shí)間與實(shí)際支付的時(shí)間有一定差距,情況如下:
可以看到支付時(shí)間是2023-12-20 12:07:44 訂單的創(chuàng)建時(shí)間是2023-12-21 02:07:23之間相差了14個(gè)小時(shí),我們正常情況下設(shè)置的訂單未支付失效時(shí)間都是在30分鐘左右,所以不可能時(shí)間跨度這么大,這個(gè)時(shí)候我們就應(yīng)該檢查一下自己的數(shù)據(jù)庫(kù)時(shí)區(qū)了。
這個(gè)時(shí)候我們可以先查看一下自己是數(shù)據(jù)庫(kù)時(shí)區(qū),查詢的方式可以用下面的方法
show?variables?like?"%time_zone%";
如果顯示下圖,則需要設(shè)置時(shí)區(qū)
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | |
| time_zone | SYSTEM |
+------------------+--------+
設(shè)置時(shí)區(qū)
1. 通過(guò)mysql命令行模式下動(dòng)態(tài)修改
set global time_zone = '+8:00';
設(shè)置為北京時(shí)間,刷新mysql權(quán)限
FLUSH PRIVILEGES
這樣修改第二次重啟依然沒有改過(guò)來(lái)
2. 通過(guò)修改配置文件來(lái)修改時(shí)區(qū)
修改配置文件my.ini
增加
default-time_zone = '+8:00'
然后重啟mysql服務(wù),可以了
再次查詢
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)
修改完時(shí)區(qū)后可以再去下單測(cè)試一下是否和當(dāng)前時(shí)間一致