怎样设置 CentOS 8 的时区

Lasted 2020-11-24 19:44:51

时区是地球上的区域使用同一个时间定义。以前,人们通过观察太阳的位置(时角)决定时间,这就使得不同经度的地方的时间有所不同(地方时)。1863年,首次使用时区的概念。时区通过设立一个区域的标准时间部分地解决了这个问题。

查看当前时区

timedatectl命令可以查看当前系统的时间和时区信息。如下所示,当前机器使用 Asia/Shanghai 东八区。

timedatectl
               Local time: 二 2020-11-24 19:16:17 CST
           Universal time: 二 2020-11-24 11:16:17 UTC
                 RTC time: 二 2020-11-24 11:16:18
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

系统时区位于 /etc/localtime 这是一个符号链接,链接到 /usr/share/zoneinfo 目录下面的时区信息,如下所示。

ls -l /etc/localtime
lrwxrwxrwx. 1 root root 35 11月 28 2019 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai

设置时区

设置时区前可以查看系统中支持的时区。使用 list-timezones 参数可以查看支持的时区列表,如下所示,列表可能比较长,可以通过 grep 查找需要设置的时区

ls -l /etc/localtime
...
Africa/Banjul
Africa/Bissau
Africa/Blantyre
Africa/Brazzaville
Africa/Bujumbura
Africa/Cairo
Africa/Casablanca
Africa/Ceuta
...

设置时区为 America/Toronto,设置时区后运行 timedatectl 命令,显示时区已经更改。

timedatectl set-timezone America/Toronto
timedatectl
               Local time: 二 2020-11-24 06:35:12 EST
           Universal time: 二 2020-11-24 11:35:12 UTC
                 RTC time: 二 2020-11-24 11:35:12
                Time zone: America/Toronto (EST, -0500)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

通过符号链接修改时区

如果系统不支持 timedatectl 命令,可以直接修改 /etc/localtime 链接修改时区,可以查看 /usr/share/zoneinfo 目录下支持的时区信息。

修改系统时区为 America/Toronto。通过 date 命令查是否修改成功。

ln -sf /usr/share/zoneinfo/America/Toronto /etc/localtime
date
2020年 11月 24日 星期二 19:40:11 CST