日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

springboot mysql时区设置_java/springboot/mysql时区问题解决方案

發(fā)布時間:2023/12/2 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springboot mysql时区设置_java/springboot/mysql时区问题解决方案 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

解決步驟:

先理清楚邏輯

數(shù)據(jù)從mysql查出-->進入docker(沒容器化跳過)-->進入相應(yīng)的應(yīng)用程序(比如java或者框架springboot之類的)-->程序處理完輸出返回給前端或者頁面-->展示

第一步:先查mysql

所以先進入mysql控制臺,select now(),時區(qū)沒問題則這里顯示的時間和當前中國時間一致,或者show variables like '%time_zone%';

image.png

如果時區(qū)不對可以設(shè)置

set global time_zone = '+8:00';

flush privileges;

不過重啟會失效,想不失效可以改my.cnf然后重啟mysql

第二步:進入docker容器看時區(qū)對不對(如果不是容器化跳過)

先用docker ps 查看容器id,拿到id 進去相應(yīng)容器

命令為

docker exec -ti 7a542556a73a /bin/bash

接下來在容器內(nèi)查看當前時間是否和中國時間一致

date -R

如果不一致需要在Dockerfile時加上

ENV TZ=Asia/Shanghai

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

第三步:應(yīng)用程序時區(qū)

比如java代碼中new出的date查看,如果不是中國時區(qū),可以在Dockerfile中加上

ENV JAVA_OPTS $JAVA_OPTS -Duser.timezone=GMT+08

如果是框架的時區(qū)問題,那要查詢對應(yīng)框架的時區(qū)設(shè)置

比如springboot的時區(qū)設(shè)置如下

public class SpringBootApplication{

public static void main(String[] args) {

TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));

SpringApplication.run(SpringBootApplication.class, args);

}

}

除此之外,程序處理完后需要返回前端也有時區(qū)差異

springboot中需要在application.yml中設(shè)置

spring:

jackson:

time-zone: Asia/Shanghai

第四步:至此后臺時區(qū)一致,前端展示基本不會有問題,不多敘述

歡迎大家加入Java技術(shù)群

1544106895022.png

作者:詩錯亦染瑾

鏈接:https://www.jianshu.com/p/7f83f6ab58e4

來源:簡書

簡書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處。

總結(jié)

以上是生活随笔為你收集整理的springboot mysql时区设置_java/springboot/mysql时区问题解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。