我是靠谱客的博主 外向黄蜂,最近开发中收集的这篇文章主要介绍mysql从数据库查询的时间与实际时间相差8小时(时区问题),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

解决方法:

设置spring配置文件:

1、spring.datasource.url=jdbc:mysql://10.35.105.25:3306/database?characterEncoding=utf-8&serverTimezone=GMT%2B8

数据库配置后面加上&serverTimezone=GMT%2B8

2、spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

     spring.jackson.time-zone=GMT+8

第一步为设置数据库时间为东八区(北京)时间,保证debug时候从数据库查出时间一致。第二步为返回给前端的时间格式和时区设定,保证前端页面显示时间和数据库一致。

 

下面是多8小时的例子。

举例说明:

数据库字段为time,数据类型设置为timeStamp,值为:2019-05-23 09:49:00

代码中:private Date time;

如果设置:spring.datasource.url=jdbc:mysql://10.35.105.25:3306/database?characterEncoding=utf-8&serverTimezone=UTC

数据库时间设置为UTC,代码中debug时,就会发现time时间查出来为Thu May 23 17:49:00 CST 2019,多8个小时。因为数据库时间是UTC世界统一时间,而代码中默认为北京时间(东八区),东八区要早8小时,也就是多8小时。时区差值可以百度了解。

前端页面显示:Thu May 23 17:49:00 CST 2019格式为Date默认格式,通常我们是yyyy-MM-dd HH:mm:ss格式。所以可以加配置:

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

 spring.jackson.time-zone=GMT+8

这样返回给前端就是正常格式了。

 

 

 

 

最后

以上就是外向黄蜂为你收集整理的mysql从数据库查询的时间与实际时间相差8小时(时区问题)的全部内容,希望文章能够帮你解决mysql从数据库查询的时间与实际时间相差8小时(时区问题)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部