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