【資料圖】
首先我們應(yīng)該知道,寫到數(shù)據(jù)庫里的時間,主要和你的mysql時區(qū)system_time_zone有關(guān),而把mysql里的數(shù)據(jù)取出來,以json形式響應(yīng)到瀏覽器上,這個時間會經(jīng)過反序列化的過程,這時時間和注解@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")有關(guān)。
1、首先查看MySQL當前的時間
time_zone說明mysql使用system的時區(qū),system_time_zone說明system使用CST時區(qū)select curtime();show variables like "%time_zone%";
2、進行修改
直接在數(shù)據(jù)庫連接串上添加時區(qū)set global time_zone = "+8:00"; #修改mysql全局時區(qū)為北京時間,也就是我們所在的東8區(qū)set time_zone = "+8:00"; #修改當前會話時區(qū)flush privileges;
serverTimezone=GMT%2B8 #表示東八區(qū)
為代碼添加對象的時區(qū)注解@Column(name = "EXPIRE_DATE")@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Date expireDate;修改k8s中pod的時區(qū)...  containers:  - name: xxx    env:       - name: TZ        value: Asia/Shanghai...    volumeMounts:      - name: timezone        mountPath: /etc/localtime  volumes:    - name: timezone      hostPath:        path: /usr/share/zoneinfo/Asia/Shanghai總結(jié)事實上,數(shù)據(jù)庫里的時間與顯示出現(xiàn)的時間不一致,與pod的時間沒關(guān)系,主要還是看你的數(shù)據(jù)庫時區(qū)與@JsonFormat注解的時區(qū)。
如果@JsonFormat如果是GMT+8,而連接串里是GMT+0,會出現(xiàn)下面截圖如果@JsonFormat如果是GMT+8,連接串里也是GMT+8,會出現(xiàn)我們想要的截圖最后,如果@JsonFormat如果是GMT+8,連接串里也是CST(可能被認為是美國中部時間,GMT-6),那么它將會比北京時間慢8+6小時標簽:
熱門