配置时区问题搞了好久
原因是我数据库使用timestamp自动设置当前时间(即上传文件的时间)
我在本地idea中运行springboot项目上传文件,数据库自动插入的时间是正确的,但是放到Docker中运行jar包,插入时间就会少8个小时(即为标准时间)
我知道这是时区的问题
我首先查看了我宿主机(服务器)的时间,输入 date ,正确没问题。
在看看是不是容器的问题,我在run 镜像时加上了-v /etc/localtime:/etc/localtime校准时间,进入容器 运行命令 date 正确没问题。但是此次插入还是少8个小时。(具体参考 Docker 解决容器时间与主机时间不一致的问题三种解决方案)
这是我想是不是数据库的的时区问题,发现数据库是utc即标准时间,经过一系列操作后(具体可参考 Docker 中 MySQL容器时区不对,导致插入的时间不准确) ,将数据库时间改为cts东八区正确时间。
此刻,我满心欢喜,心想终于解决了,然而,还是不行,确实麻了!
最后的解决方案,在springboot的启动类中加入
TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
即为设置jar包运行的时区
最后完美解决,我想在docker中运行jar包可能和容器也是相互独立,所以在启动类中也要设置时区
《绝代艳后2006克斯汀邓斯特版》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/85043.html