如何在Linux上设置或更改时区

时区是具有相同标准时间的地理区域。通常在生产系统安装期间设置时区,但以后可以轻松更改。

对于许多与系统相关的任务和过程,使用正确的时区至关重要。例如,cron守护程序使用系统时区来运行cron作业。时区也用于日志时间戳。

本教程将引导您完成在Linux上设置或更改时区所需的步骤。

检查当前时区

timedatectl 是一个命令行实用程序,可让您查看和更改系统时间和日期。在所有基于systemd的现代Linux系统上可用。

要查看您当前的时区, timedatectl 没有选项或参数的命令:

timedatectl
                      Local time: Tue 2019-12-03 16:30:44 UTC
                  Universal time: Tue 2019-12-03 16:30:44 UTC
                        RTC time: Tue 2019-12-03 16:30:44
                       Time zone: Etc/UTC (UTC, +0000)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

上面的输出显示系统时区设置为UTC。

系统时区由符号链接配置 /etc/localtime 将文件设为二进制时区标识符 /usr/share/zoneinfo 目录。

检查时区的另一种方法是显示符号链接指向的路径 ls 命令:

ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 Dec  3 16:29 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC

在Linux上更改时区

在更改时区之前,您需要找到时区的长名称。时区命名约定通常使用“地区/城市”格式。

要查看所有可用时区, timedatectl 命令或文件列表 /usr/share/zoneinfo 目录:

timedatectl list-timezones
...
America/Montserrat
America/Nassau
America/New_York
America/Nipigon
America/Nome
America/Noronha
...

为您的位置标识正确的时区后,以root或sudo用户身份运行以下命令:

sudo timedatectl set-timezone 

例如,系统时区 America/New_York 输入以下内容:

sudo timedatectl set-timezone America/New_York

为了确认更改, timedatectl 再次命令:

timedatectl
                      Local time: Tue 2019-12-03 13:55:09 EST
                  Universal time: Tue 2019-12-03 18:55:09 UTC
                        RTC time: Tue 2019-12-03 18:02:16
                       Time zone: America/New_York (EST, -0500)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

任务完成!系统时区已成功更改。

如果您正在运行旧的Linux发行版 timedatectl 如果系统上没有实用程序,则可以使用符号链接更改时区 /etc/localtime 在时区 /usr/share/zoneinfo 目录。

删除当前的符号链接或文件。

sudo rm -rf /etc/localtime

指定要设置的时区并创建符号链接。

sudo ln -s /usr/share/zoneinfo/America/New_York /etc/localtime

通过清单确认 /etc/localtime 档案或通话 date 命令:

date

输出包括时区,在此示例中为“ EST”。

Tue Dec  3 14:10:54 EST 2019

总结

要更改Linux系统时区, sudo timedatectl set-timezone 在命令后输入要设置的时区的长名称。

如有任何疑问,请随时发表评论。