彻底解决前后端程序时区差8小时问题
1.当用new date()或者TimeZone时有8小时的时差问题:
保证服务器时区为东八区时间即北京时间
服务启动的时候,将当前时区设置为GMT+8,代码如下:
@SpringBootApplication
public class Application {
@PostConstruct
void started() {
TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
//TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
//TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
}
public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
这样就保证了Java程序的时区为北京东八区时间。
2.在application.yml中配置:
spring:#解决前端取回日期少8个小时问题jackson:date-format: yyyy/MM/dd HH:mm:sstime-zone: GMT+8datasource:#基本属性url: jdbc:mysql://localhost:3306/gwork?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8
3.数据库驱动连接上配置:
url: jdbc:mysql://localhost:3306/gwork?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8
注:采用+8:00格式,没有指定MySQL驱动版本的情况下它自动依赖的驱动高版本的mysql,这是由于数据库和系统时区差异所造成的,mysql默认的是美国的时区,而我们中国大陆要比他们迟8小时,在jdbc连接的url后面加上serverTimezone=GMT即可解决问题,如果需要使用gmt+8时区,需要写成GMT%2B8,否则会被解析为空。再一个解决办法就是使用低版本的MySQL jdbc驱动不会存在时区的问题。
这个时区要设置好,不然会出现时差,
如果你设置serverTimezone=UTC,连接不报错,
但是我们在用java代码插入到数据库时间的时候却出现了问题。
比如在java代码里面插入的时间为:2018-06-24 17:29:56
但是在数据库里面显示的时间却为:2018-06-24 09:29:56
有了8个小时的时差
UTC代表的是全球标准时间 ,但是我们使用的时间是北京时区也就是东八区,领先UTC八个小时。
以上三个均设置,彻底解决时区问题。
彻底解决前后端程序时区差8小时问题相关推荐
- 5 分钟解决前后端联调问题,说一说前端代理这件事
简介: 简洁,又能触达痛点的一站式前端代理解决方案,你值得拥有. 作者:寒斜 说到前端代理,相信每一个做过前后端联调的同学都有遇到过.当下涉及前后端工程项目的研发,主流模式一定是前后端的分离.它让前后 ...
- Java接口long类型精度丢失,解决前后端交互Long类型精度丢失问题
雪花算法ID,对应的后端Long类型,前端number类型,它们的精度不一样,导致精度丢失 现象 雪花算法得到的ID较长,传到前端后,精度丢失 库中:23754851322302474 后端:2375 ...
- 解决前后端交互Long类型精度丢失的问题
雪花算法ID,对应的后端Long类型,前端number类型,它们的精度不一样,导致精度丢失 文章目录 一.现象与分析 1.1. 现象 1.2. 分析 二.解决方案 2.1. 方法一单个注解 2.2. ...
- niginx反向代理解决前后端跨域问题
1.代理和跨域 1.1 正向代理 1)用户希望代理服务器帮助其和要访问服务器之间实现通信,需要: a.用户IP报文的目的IP=代理服务器IP: b.用户报文端口号=代理服务器监听端口号: c.HTTP ...
- Vue整合nginx:(1)开发环境npm run dev下,通过nginx解决前后端分离造成的跨域问题
Vue整合nginx:(1)开发环境npm run dev下,通过nginx解决前后端分离造成的跨域问题 参考文章: (1)Vue整合nginx:(1)开发环境npm run dev下,通过nginx ...
- Nginx完美解决前后端分离端口号不同导致的跨域问题
Nginx完美解决前后端分离端口号不同导致的跨域问题 参考文章: (1)Nginx完美解决前后端分离端口号不同导致的跨域问题 (2)https://www.cnblogs.com/PyKK2019/p ...
- 【唐老狮】商业游戏开发前后端程序区别
客户端程序员=前端程序员 包括 Unity程序员 UE程序员 Cocos程序员 Egret程序员 Laya程序员 Flash程序员 等等 服务端程序员=后端程序员 包括 C++程序员 Java程序员 ...
- springmvc集成cas,并解决前后端分离情况
2019独角兽企业重金招聘Python工程师标准>>> 1.最近项目需要集成已经存在的cas系统. 但是目前已集成的系统都是jsp.而我们项目是前后端分离开发(伪),没有分开部署. ...
- X-admin经典前端后台管理模板,基于layui的轻量级前端后台管理框架,简单,兼容性好,面向所有层次的前后端程序
X-admin 简介 X-admin基于layui的轻量级前端后台管理框架,简单免费,兼容性好,面向所有层次的前后端程序.创立于2017年初,为了敏捷WEB应用开发和简化企业应用开发而诞生的.#X-a ...
最新文章
- Beaglebone Black教程BeagleBone Black安装最新系统映像
- 二叉排序树(完整代码)
- 第3节 sqoop:3、sqoop的入门测试使用
- [POI2006]OKR-Periods of Words
- 2021信服云创新峰会:托管云成上云第三种选择
- Python解析xml文件,此实例将xml设置为模版(from lxml import etree)
- 奖学金(洛谷-P1093)
- jsp+java bean+mysql数据库进行分页显示
- 用 Java 拿下 HTML,分分钟写个小爬虫!
- Invest模型安装及使用方法
- 可以写进简历的软件测试项目实战经验(包含电商、银行、app等)
- 今年阿里巴巴重要开源项目全在这里
- 4家运营商、17家通信企业这样回应5G牌照发放
- C中code定义的数据要存储在ROM程序存储区基于8051单片机C语言编程实例100例都用CODE定义数组。因为51单片机RAM128字节汇编语言标号代表指令所在ROM地址标号+DB定义数据在ROM
- Python基础=== Tkinter Grid布局管理器详解
- matlab 三角分解法 解线性方程组的直接方法
- 程序包xxx不存在解决办法
- python利用二分法实现求一个数的算术平方根
- Latex中如何输入特殊字符
- 开放大学建筑构造计算机考试试题,精编最新国家开放大学电大《建筑构造》形考任务2试题及答案...