/etc/localtime
/etc/localtime是用来描述 系统时间,如果系统时间不正确,通过修改该文件来修改时区
/etc/localtime文件通常是一个到/usr/share/zoneinfo/某时区文件的软链接,执行下面命令查看链接到哪个时区文件:
ll /etc/localtime
执行结果如下:
lrwxrwxrwx 1 root root 27 Dec 28 15:20 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC
说明连接到 UTC 时区,比北京时间晚8个小时
/usr/share/zoneinfo/目录下是各种时区文件
查看时区
date -R
执行结果:
Thu, 02 Jul 2020 12:33:18 +0000
没有加上8小时,不是东8区
修改时区
通过软连接修改时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
再次执行date -R时间一般是正确的
/etc/timezone
/etc/timezone是用来描述本机所属 时区 的
有些程序是通过该时区,自行换算时间的,如:JAVA,也就是说/etc/timezone时区不正确,像java这样的程序,获取的时间可能不正确
java可以设置上海时区,如下:
TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
TimeZone.setDefault(tz);
查看/etc/timezone文件
cat /etc/timezone
可查看当前时区
修改时区
echo 'Asia/Shanghai' >/etc/timezone