999精品,丝袜综合,大陆老熟妇性,中国老女人AV,亚洲精品国产第一区二区三区

keycloak~時間不正確的問題 速看料
發(fā)布時間:2023-04-12 14:37:02 文章來源:博客園
當前位置: 主頁 > 資訊 > 專題 > 正文


【資料圖】

首先我們應(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)。

和我們相關(guān)的幾個時區(qū)UTC: Coordinated Universal Time, 國際協(xié)調(diào)時間,也稱世界標準時間。GMT:Greenwich Mean Time, 格林尼治時間CST:中國標準時間(China Standard Time),為GMT+8BST:英國夏令時間,為GMT+1CST:美國中部時間(Central Standard Time),為GMT-6,正常比北京慢14小時,夏令時慢13小時東八區(qū):GMT+8數(shù)據(jù)庫時區(qū)

1、首先查看MySQL當前的時間

select curtime();show variables like "%time_zone%";

time_zone說明mysql使用system的時區(qū),system_time_zone說明system使用CST時區(qū)

2、進行修改

set global time_zone = "+8:00"; #修改mysql全局時區(qū)為北京時間,也就是我們所在的東8區(qū)set time_zone = "+8:00"; #修改當前會話時區(qū)flush privileges;

直接在數(shù)據(jù)庫連接串上添加時區(qū)

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小時

標簽:

最近更新