首页 > 其他分享 >keycloak~时间不正确的问题

keycloak~时间不正确的问题

时间:2023-04-17 11:37:42浏览次数:36  
标签:JsonFormat 正确 zone 时间 time 时区 keycloak GMT

首先我们应该知道,写到数据库里的时间,主要和你的mysql时区system_time_zone有关,而把mysql里的数据取出来,以json形式响应到浏览器上,这个时间会经过反序列化的过程,这时时间和注解@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")有关。

和我们相关的几个时区

  • UTC: Coordinated Universal Time, 国际协调时间,也称世界标准时间。
  • GMT:Greenwich Mean Time, 格林尼治时间
  • CST:中国标准时间(China Standard Time),为GMT+8
  • BST:英国夏令时间,为GMT+1
  • CST:美国中部时间(Central Standard Time),为GMT-6,正常比北京慢14小时,夏令时慢13小时
  • 东八区:GMT+8

数据库时区

1、首先查看MySQL当前的时间

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

time_zone说明mysql使用system的时区,system_time_zone说明system使用CST时区

2、进行修改

set global time_zone = '+8:00'; #修改mysql全局时区为北京时间,也就是我们所在的东8区
set time_zone = '+8:00'; #修改当前会话时区
flush privileges;

直接在数据库连接串上添加时区

serverTimezone=GMT%2B8 #表示东八区

为代码添加对象的时区注解

@Column(name = "EXPIRE_DATE")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date expireDate;

修改k8s中pod的时区

...
  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

总结

事实上,数据库里的时间与显示出现的时间不一致,与pod的时间没关系,主要还是看你的数据库时区与@JsonFormat注解的时区。

  • 如果@JsonFormat如果是GMT+8,而连接串里是GMT+0,会出现下面截图

keycloak~时间不正确的问题_Time

  • 如果@JsonFormat如果是GMT+8,连接串里也是GMT+8,会出现我们想要的截图

keycloak~时间不正确的问题_mysql_02

  • 最后,如果@JsonFormat如果是GMT+8,连接串里也是CST(可能被认为是美国中部时间,GMT-6),那么它将会比北京时间慢8+6小时

keycloak~时间不正确的问题_Time_03

作者:仓储大叔,张占岭,
荣誉:微软MVP



标签:JsonFormat,正确,zone,时间,time,时区,keycloak,GMT
From: https://blog.51cto.com/u_15765017/6194847

相关文章

  • pandas.Series 获取时间年、月等信息
    注意事项dt.XX后面不加括号zz的数据类型为datetime64[ns]zz=pd.Series(pd.to_datetime(时间戳,unit='s'))#获取日期月份bb=zz.dt.month#获取年月日bb=zz.dt.date#获取星期名称bb=zz.dt.day_name()#一年中的第几周bb=zz.dt.isocalendar().week......
  • 为什么计算机时间要从1970年1月1日开始算起
    今天我们来讨论一个非常有意思的事,那就是你知道为什么计算机时间和众多的编程语言的时间都要从1970年1月1日开始算起呢,时间计时起点到底为什么是1970年1月1号呢?我想大家应该都知道,但是我估计大家几乎大部分都没有想过这个问题。我们就一起来聊聊,这是为什么?1、最懒的解释很多编程语......
  • [apue] 一图读懂 Unix 时间日期例程相互关系
    概览 开门见山先上图界定一些术语,方便后面说明:GMT:格林威治平均时,太阳每天经过位于英国伦敦郊区的皇家格林威治天文台的时间为中午12点,1972年之前使用的国际标准时间,因地球在它的椭圆轨道里的运动速度不均匀,这个时刻可能和实际的太阳时相差16分钟。UTC:国际标准时间,相当......
  • 总浮动时间和自由浮动时间
    所有浮动时间计算时均假设该活动的前面活动不动,然后该活动往后移动,自由时间就是紧后活动也不动的时间,总时间就是移动该活动时也同时移动紧后的所有活动(除最后一个活动外)且保持紧后活动之间的互相位置关系......
  • 什么是时间复杂度?
    原文点此跳转什么是时间复杂度?定性描述该算法的运行时间,一个函数、用大O表示,例如O(1)、O(n)、O(logN)...常见的时间复杂度量级常数阶O(1)对数阶O(logN)线性阶O(n)线性对数阶O(nlogN)平方阶O(n²)立方阶O(n)K次方阶O(n^k)指数阶(2^n)上面从上至下依次......
  • m无线传感器网络WSN的时间同步捕获算法matlab仿真,对比单步捕获法,双步捕获法以及锯齿
    1.算法仿真效果matlab2022a仿真结果如下:       2.算法涉及理论知识概要2.1WSN同步概要       由于,信息传输和计算会消耗大量的能量,无线传感器网络中的节点都是由电池供电,能源有限,让节点长时间持续时间同步过程以达到极高精确度的时钟同步将导致极大......
  • 【C#】Whisper 离线语音识别(微软晓晓语音合成的音频)(带时间戳、srt字幕)...
    https://blog.csdn.net/cxyhjl/article/details/129905927 用微软语音合成功能生成xiaoxiao的语音。用Whisper离线识别合成的语音输出srt字幕。一、语音合成参考这个网址:https://www.bilibili.com/read/cv19064633 合成的音频:晓晓朗读-温柔二、Whisper语音识别下载模......
  • 23-4-16--时间转换--老板的作息表
     新浪微博上有人发了某老板的作息时间表,表示其每天4:30就起床了。但立刻有眼尖的网友问:这时间表不完整啊,早上九点到下午一点干啥了?本题就请你编写程序,检查任意一张时间表,找出其中没写出来的时间段。输入格式:输入第一行给出一个正整数 N,为作息表上列出的时间段的个数。随......
  • 内容为字典的列表按其中一个字段排序并把时间改成几天前列表十个分一份
    #-*-coding:utf-8-*-#@Time:2023/04/16001614:02#@Author:张鑫#@File:prac#@Project:PyCharm2022.1.4importdatetimeimportjsonimporttimefromoperatorimportitemgetter'''题目要求三个列表,列表长度为10,列表内容格式为字典,字典包含字段,按标题去重,按时间......
  • 最基本的可视化图案有哪些?分别适用于那些场景?(比如折线图适合可视化某个属性值随时间变
    原文链接:https://blog.csdn.net/weixin_42129177/article/details/108231137散点图:用于发现各变量之间的关系。柱状图:展示多个分类的数据变化和同类别各变量之间的比较情况。条形图:展示多个分类的数据变化和同类别各变量之间的比较情况。折线图:展示数据随时间或有序类别的......