在Ubuntu上,系统的时区在安装期间已进行设置,但也可以在以后更改所在时区。

对于许多与系统相关的任务和流程,使用正确的时区非常重要。例如,cron守护程序使用系统的时区执行cron作业,日志文件中的时间戳基于同一系统的时区。

本教程演示如何从命令行或通过GUI设置或更改Ubuntu 18.04及以前版本的时区。相同的说明适用于任何基于Ubuntu的发行版,包括Kubuntu,Linux Mint和Elementary OS。

前提条件

您需要以具有sudo权限用户身份登录才能更改系统的时区。

检查当前时区

在Ubuntu和大多数其他Linux发行版中,我们可以使用timedatectl命令显示和设置当前系统的时间和时区。

timedatectl

正如您在下面的输出中看到的,时区设置为UTC:

                      Local time: Wed 2019-01-23 22:45:47 UTC
                  Universal time: Wed 2019-01-23 22:45:47 UTC
                        RTC time: Wed 2019-01-23 22:45:48
                       Time zone: Etc/UTC (UTC, +0000)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

配置系统时区是通过符号链接/etc/localtime/usr/share/zoneinfo目录中的二进制时区标识符来设置。因此,你可以使用ls命令显示符号链接指向的路径,以系统时区:

ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 Dec 10 12:59 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC

或者,您也可以通过显示/etc/timezone文件的内容来检查当前系统的时区。

cat /etc/timezone
Etc/UTC

使用timedatectl命令更改时区

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

要列出所有可用时区,您可以使用ls命令列出/usr/share/zoneinfo目录中的文件或使用timedatectl命令。

timedatectl list-timezones
...
Europe/Oslo
Europe/Paris
Europe/Podgorica
Europe/Prague
Europe/Riga
Europe/Rome
Europe/Samara
...

确定时区与您的位置准确无误后,请以sudo用户身份运行以下命令:

sudo timedatectl set-timezone your_time_zone

例如,要将系统的时区更改为Europe/Rome

sudo timedatectl set-timezone Europe/Rome

运行timedatectl命令以验证更改:

timedatectl
                      Local time: Thu 2019-01-24 00:27:43 CET
                  Universal time: Wed 2019-01-23 23:27:43 UTC
                        RTC time: Wed 2019-01-23 23:27:44
                       Time zone: Europe/Rome (CET, +0100)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

通过重新配置tzdata来更改时区

如果您运行的是旧版本的Ubuntu并且系统上没有timedatectl命令,则可以通过重新配置tzdata来更改时区。

  1. 确定要配置的时区。

使用tee命令将新时区名称保存到/etc/timezone文件:

echo "Europe/Rome" | sudo tee /etc/timezone
Europe/Rome

运行以下命令以更改系统的时区:

sudo dpkg-reconfigure --frontend noninteractive tzdata
Current default time zone: 'Europe/Rome'
Local time is now:      Thu Jan 24 00:40:48 CET 2019.
Universal Time is now:  Wed Jan 23 23:40:48 UTC 2019.

使用GUI更改时区

如果您不喜欢命令行,则可以通过GUI更改当前系统的时区。

单击Settings图标,打开系统设置窗口,如下图所示:

ubuntu-settings

在系统设置窗口中单击上Date & Time选项卡,打开Automatic Time ZoneOFF,并点击Time Zondadae框:

如果Automatic Time Zone设置为ON,并且您连接到网络,则系统会根据您的位置自动设置时区。

要选择新时区,您可以单击地图或通过搜索栏搜索时区。

完成后,单击✖关闭窗口。

结论

在本指南中,我们已经为您如何更改Ubuntu系统的时区。如果您有任何疑问,请随时发表评论。如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持