大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
第一步:确认docker时区
进入容器中
docker exec -it 容器name bash
查看容器时区:
date
如果时区不对,则需要在启动容器的时候指定正确的时区。在启动的时候多一个参数:
-e TZ=”Asia/Shanghai”
docker run -e TZ="Asia/Shanghai" -d -p 80:80 --name nginx nginx
第二步确认数据库时区
SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP);
如果显示的是08:00:00则是cst时区。
如果不是cst时区,则执行Sql:
set global time_zone = '+8:00'; ##修改mysql全局时区为北京时间,即我们所在的东8区
set time_zone = '+8:00'; ##修改当前会话时区
flush privileges; #立即生效
第三步确认数据库连接版本是否是6及版本以上
如果是6及以上版本,则数据连接需要加上时区
jdbc:mysql://192.168.1.54:3306/......&serverTimezone=Asia/Shanghai
第四步:确认SpringBoot的时区
如果不是cst时区,则在启动文件中加上:
@SpringBootApplication
public class ApplyPartyApplication {
public static void main(String[] args) {
TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
SpringApplication.run(ApplyPartyApplication.class, args);
}
}
第五步:确认json化输出前端的时区
此时数据库时区、容器时区、springboot时区都是CST,输出的时间还是可能差8小时,这因为Date进行json的时候还存一个时区,而springboot默认json工具是jackson,采用的是UTC时区。需要一下配置。注意:如果项目WebMvcConfig采用的是继承WebMvcConfigurationSupport,而不是实现WebMvcConfigurer接口的话,下面的配置会不生效。
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/189418.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...