时区问题解决方案
一、数据库时区问题
#查看数据库时区 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应用时区问题
- 配置文件中添加配置(推荐)
springboot2.0里配置时区, 1、mysql连接那块加上serverTimezone=Asia/Shanghai 2、配置文件中spring.jackson.time-zone: GMT+8
|
- 启动类中添加如下代码(此种方式可以解决docker容器时间同步问题)
@PostConstruct void started() { TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai")); } public static void main(String[] args) { SpringApplication.run(Application.class, args); }
|
所有时区参考:
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones