1、查看当前系统的时间命令:
date 或者 date -R
如果不是 +8 那就是有问题。
2、修改时区及时间
修改的文件有两个(缺一不可): 第一个是 /etc/localtime(本地时间问题,就是那个date命令) ;
第二个是/etc/timezone(这个跟java获取的时区有关,如果想你的代码里的时间是正确的,这个必须检查);
命令如下:
cd /etc 然后 ll
可以看到这个localtime 指向的时间是不对的
rm -f /etc/localtime # 先将该文件删除
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 重现设置软连接
timezone 的这个文件,可以查找,如果没查找到,总之执行这个命令
echo 'Asia/Shanghai' >/etc/timezone # timezone 的文件时间修改争取
3、补充说明
在docker 中也是一样,要么就是我们在启动的时候将 上面这两个文件映射到容器中,要么进入容器(docker exec -it <容器id> /bin/bash) 内部修改;
hwclock 这个命令是看硬件的时间,有时候时间是不对的。
可以使用命令: hwclock -w # 同步系统时间到硬件
相关hwclock 命令如下
-r 或 --show:显示当前硬件时钟的时间。
-w 或 --systohc:将系统时钟的时间设置为硬件时钟的时间。
-s 或 --hctosys:将硬件时钟的时间设置为系统时钟的时间。
-f <文件> 或 --adjust <文件>:从指定文件中读取时间校准数据并应用于硬件时钟。
-s 或 --synchronize:将硬件时钟的时间与网络时间同步。
-c 或 --calibrate:显示硬件时钟的校准信息。
-t 或 --test:以测试模式运行,不会更改硬件时钟的时间。
-V 或 --version:显示hwclock命令的版本信息。
-h 或 --help:显示帮助信息