linux时区(/etc/localtime和/etc/timezone) 作者:马育民 • 2020-07-02 20:45 • 阅读:14718 # /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 ``` 原文出处:https://www.malaoshi.top/show_1EF5oe42EiBO.html