linux时间修正、docker时间修正、jar时间修正、mysql时间修正
1.linux时间修正
date:查看当前时间
date -R: 查看当前时区
linux时间修正命令:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime (指定时区)
2.docker时间修正、指定时区
创建容器时: 推荐
两种方式
(1) -v /etc/localtime:/etc/localtime 挂载后 容器时间和系统时间一致
(2) -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime 挂载上海时区 给 容器 (即指定容器的时区)
已有容器:
进入容器后:执行 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
3.jar时间修正、指定时区
服务器时间正常后,jar运行的时间也可能不正常!!!
两种处理方式:
java -jar -Duser.timezone=Asia/Shanghai (指定时区)
java -jar -Duser.timezone=GMT+08 (指定时区)
new Date()时间获取的是服务器的TZ timezone时间 不是/etc/localtime 所以就算服务器时间正常也可能会出问题 加上启动参数即可
4.java 连接数据库驱动时间
&serverTimezone=GMT%2B8 即用 GMT+08时区传输时间 但是像 使用函数 now()、CURRENT_TIMESTAMP等 获取的仍是mysql自己的时间
5.mysql时间修正
set global time_zone = ‘+8:00’; #修改mysql全局时区为上海时间,即我们所在的东8区。
set time_zone = ‘+8:00’; #修改当前会话时区
flush privileges; #立即生效 要退出连接或会话!!!等一两分钟 !!