时区问题解决方案

时区问题解决方案

一、数据库时区问题

#查看数据库时区
show variables like "%time_zone%"; 
#设置数据库时区
SET global time_zone = "+8:00";
#或者加配置文件
##在[mysqld]
default-time_zone = '+8:00'



#时间格式,所有地方要统一,包括程序、数据库、linux服务器
#GMT(Greenwich Mean Time):格林威治标准时间
#UTC:世界标准时间
#CST(China Standard Time):中国标准时间

#GMT + 8 = UTC + 8 = CST

#一般设置为 中国标准时间

二、Linux服务器时区问题

修改linux配置文件,添加时区配置:
TZ='Asia/Shanghai'; 
export TZ
然后source

三、springboot应用时区问题

  1. 配置文件中添加配置(推荐)
springboot2.0里配置时区,
  1、mysql连接那块加上serverTimezone=Asia/Shanghai
  2、配置文件中spring.jackson.time-zone: GMT+8
  1. 启动类中添加如下代码(此种方式可以解决docker容器时间同步问题)
@PostConstruct
void started() {
  TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
}
public static void main(String[] args) {
    // 或这里添加 TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
    SpringApplication.run(Application.class, args);
}

所有时区参考:

https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

你可能感兴趣的:(时区问题解决方案)