解决步骤:

先理清楚逻辑

数据从mysql查出-->进入docker(没容器化跳过)-->进入相应的应用程序(比如java或者框架springboot之类的)-->程序处理完输出返回给前端或者页面-->展示

第一步:先查mysql

所以先进入mysql控制台,select now(),时区没问题则这里显示的时间和当前中国时间一致,或者show variables like '%time_zone%';

image.png

如果时区不对可以设置

set global time_zone = '+8:00';

flush privileges;

不过重启会失效,想不失效可以改my.cnf然后重启mysql

第二步:进入docker容器看时区对不对(如果不是容器化跳过)

先用docker ps 查看容器id,拿到id 进去相应容器

命令为

docker exec -ti 7a542556a73a /bin/bash

接下来在容器内查看当前时间是否和中国时间一致

date -R

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

ENV TZ=Asia/Shanghai

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

第三步:应用程序时区

比如java代码中new出的date查看,如果不是中国时区,可以在Dockerfile中加上

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

如果是框架的时区问题,那要查询对应框架的时区设置

比如springboot的时区设置如下

public class SpringBootApplication{

public static void main(String[] args) {

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

SpringApplication.run(SpringBootApplication.class, args);

}

}

除此之外,程序处理完后需要返回前端也有时区差异

springboot中需要在application.yml中设置

spring:

jackson:

time-zone: Asia/Shanghai

第四步:至此后台时区一致,前端展示基本不会有问题,不多叙述

欢迎大家加入Java技术群

1544106895022.png

作者:诗错亦染瑾

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

来源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

springboot mysql时区设置_java/springboot/mysql时区问题解决方案相关推荐

  1. mysql关于时间的面试题,mysql时间设置默认值MySQL常见面试题

    1.limit(选出10 到20 条) select * from students order by id limit 9,10; 2.MySQL 会使用索引的操作符号 =,>,=,betwe ...

  2. java连接mysql时区修改_java连接mysql数据库时的时区设置问题(time_zone)

    java在连接mysql数据库时,会由于时区设置不正确导致报以下的错误: The server time zone value '???ú±ê×??±??' is unrecognized or re ...

  3. mysql时区设置gmt_将MySQL数据库时区设置为GMT

    不,不可能在MySQL实例中更改单个数据库的时区. 您可以检索服务器和客户端time_zone设置: SELECT @@global.time_zone, @@session.time_zone; 您 ...

  4. Mysql时区设置最佳实践,mysql设置时区_修改MySQL时区设置的方法

    摘要 腾兴网为您分享:修改MySQL时区设置的方法,一直播,一点开,小猿口算,汤圆等软件知识,以及都优乐,daysmatter,乐学高考app,随缘漂流瓶,虚拟软件,平安知鸟,智能证件照app,新概念 ...

  5. linux mysql temp 设置_linux上mysql的简单入门

    默认状态下其它pc是不能通过ip访问,本地mysql的,需要修改一个配置,如下 $ sudo vi /etc/mysql/my.cnf 找到行 bind-address = 127.0.0.1 直接注 ...

  6. java mysql 插入 乱码_java向mysql插入数据乱码问题的解决方法

    遇到java向mysql插入数据乱码问题,如何解决? MySQL默认编码是latin1 mysql> show variables like 'character%'; +----------- ...

  7. java连接mysql抛异常_Java 连接MySQL数据库 插入中文 抛出异常

    mysql数据库字符集设为默认: 下面解决好的代码,没乱码,我测试过的 String sContent = new String(request.getParameter("content1 ...

  8. mysql数据库连接时区设置_springboot 连接数据库之时区设置

    抽空查看以前的开发日志,发现了一些"问题"日志,决定整理后陆陆续续发出来吧,也为有需要的话小伙伴提供点帮助. 在springboot启动之时,报错了,一看应该就是连接MySql数据 ...

  9. esxi时区设置 +8_Go语言MySQL时区问题

    原文见:Go语言MySQL时区问题 - Jiajun的编程随想 最近由于我要统一技术栈,因此把原本使用SQLite做存储的数据全部迁移到MySQL.博客也是.不过当我检查数据库时,发现时间和 我产生数 ...

最新文章

  1. 数据结构——马踏棋盘题解(贪心算法)
  2. SQLSERVER自动定时(手动)备份工具
  3. 信息学奥赛一本通C++语言——1120:同行列对角线的格
  4. linux 3d加速驱动_实时Linux,3D打印自行车,Google的“加速的移动页面”等
  5. matlab fft 功率谱,matlab实现功率谱估计,关于FFT点数选取到底什么标准?
  6. Java包装类的缓存范围
  7. 关于angular开发中报错Cannot find module ‘webpack/lib/node/NodeTemplatePlugin‘问题的解决办法若干
  8. FLASH 闪存的分类与介绍
  9. bugku ctf 备份是个好习惯 (听说备份是个好习惯)
  10. 关于语音会议自动转文字系统的想法
  11. PMP模拟试题与解析(四)
  12. 如何成为一名高级数字 IC 设计工程师(6-4)数字 IC 验证篇:测试点分解
  13. java web分享ppt大纲 -- servlet容器简介
  14. SAP中通过定制开发在寄售结算MRKO中实现发票校验功能
  15. Python 基础知识教程
  16. 局域网内两台主机 IP ping 不通的问题分析
  17. iris接口返回json数据封装
  18. linux安装appt服务,Centos下pptd ***搭建
  19. 为什么你的动环监控系统有那么多的问题
  20. 如何查看windows server2016硬件的使用状况,比如磁盘、GPU等

热门文章

  1. latex-bib参考文献人名特殊字符
  2. 【数字信号处理】基于DFT的滤波系列2(含MATLAB代码)
  3. 微机原理实验1:字符串匹配程序实验
  4. Java异常处理(2)--异常处理机制及自定义异常
  5. 数据仓库建设中的数据建模方法(转)
  6. [原创]ActionScript3游戏中的图像编程(连载五)
  7. Eclipse快捷键以及设置
  8. tf.layers.dropout
  9. Qt数字与字符串之间的相互转换
  10. Mathematica函数大全